Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Z
Zope
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
Zope
Commits
4f61c1c7
Commit
4f61c1c7
authored
Jul 10, 2010
by
Hanno Schlichting
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use a simple stub class instead of a PythonScripts to test OFS.Historical
parent
65ef4d4f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
24 deletions
+28
-24
src/OFS/tests/testHistory.py
src/OFS/tests/testHistory.py
+28
-24
No files found.
src/OFS/tests/testHistory.py
View file @
4f61c1c7
import
unittest
import
unittest
import
Testing
import
Zope2
import
Zope2
Zope2
.
startup
()
Zope2
.
startup
()
...
@@ -9,37 +8,45 @@ import transaction
...
@@ -9,37 +8,45 @@ import transaction
import
tempfile
import
tempfile
import
ZODB
import
ZODB
from
OFS.Application
import
Application
from
OFS.Application
import
Application
from
Products.PythonScripts.PythonScript
import
manage_addPythonScript
from
OFS.History
import
Historical
from
OFS.SimpleItem
import
SimpleItem
from
ZODB.FileStorage
import
FileStorage
from
ZODB.FileStorage
import
FileStorage
class
HistoryItem
(
SimpleItem
,
Historical
):
pass
class
HistoryTests
(
unittest
.
TestCase
):
class
HistoryTests
(
unittest
.
TestCase
):
def
setUp
(
self
):
def
setUp
(
self
):
# set up a zodb
# set up a zodb
# we can't use DemoStorage here 'cos it doesn't support History
# we can't use DemoStorage here 'cos it doesn't support History
self
.
dir
=
tempfile
.
mkdtemp
()
self
.
dir
=
tempfile
.
mkdtemp
()
self
.
s
=
FileStorage
(
os
.
path
.
join
(
self
.
dir
,
'testHistory.fs'
),
create
=
True
)
fs_path
=
os
.
path
.
join
(
self
.
dir
,
'testHistory.fs'
)
self
.
s
=
FileStorage
(
fs_path
,
create
=
True
)
self
.
connection
=
ZODB
.
DB
(
self
.
s
).
open
()
self
.
connection
=
ZODB
.
DB
(
self
.
s
).
open
()
r
=
self
.
connection
.
root
()
r
=
self
.
connection
.
root
()
a
=
Application
()
a
=
Application
()
r
[
'Application'
]
=
a
r
[
'Application'
]
=
a
self
.
root
=
a
self
.
root
=
a
# create a python script
# create a python script
manage_addPythonScript
(
a
,
'test'
)
a
[
'test'
]
=
HistoryItem
(
)
self
.
ps
=
ps
=
a
.
test
self
.
hi
=
hi
=
a
.
test
# commit some changes
# commit some changes
ps
.
write
(
'return 1'
)
hi
.
title
=
'First title'
t
=
transaction
.
get
()
t
=
transaction
.
get
()
# undo note made by Application instantiation above.
# undo note made by Application instantiation above.
t
.
description
=
None
t
.
description
=
None
t
.
note
(
'Change 1'
)
t
.
note
(
'Change 1'
)
t
.
commit
()
t
.
commit
()
ps
.
write
(
'return 2'
)
hi
.
title
=
'Second title'
t
=
transaction
.
get
()
t
=
transaction
.
get
()
t
.
note
(
'Change 2'
)
t
.
note
(
'Change 2'
)
t
.
commit
()
t
.
commit
()
ps
.
write
(
'return 3'
)
hi
.
title
=
'Third title'
t
=
transaction
.
get
()
t
=
transaction
.
get
()
t
.
note
(
'Change 3'
)
t
.
note
(
'Change 3'
)
t
.
commit
()
t
.
commit
()
...
@@ -53,9 +60,9 @@ class HistoryTests(unittest.TestCase):
...
@@ -53,9 +60,9 @@ class HistoryTests(unittest.TestCase):
del
self
.
connection
del
self
.
connection
del
self
.
s
del
self
.
s
shutil
.
rmtree
(
self
.
dir
)
shutil
.
rmtree
(
self
.
dir
)
def
test_manage_change_history
(
self
):
def
test_manage_change_history
(
self
):
r
=
self
.
ps
.
manage_change_history
()
r
=
self
.
hi
.
manage_change_history
()
self
.
assertEqual
(
len
(
r
),
3
)
# three transactions
self
.
assertEqual
(
len
(
r
),
3
)
# three transactions
for
i
in
range
(
3
):
for
i
in
range
(
3
):
entry
=
r
[
i
]
entry
=
r
[
i
]
...
@@ -63,11 +70,11 @@ class HistoryTests(unittest.TestCase):
...
@@ -63,11 +70,11 @@ class HistoryTests(unittest.TestCase):
self
.
assertEqual
(
len
(
entry
.
keys
()),
6
)
self
.
assertEqual
(
len
(
entry
.
keys
()),
6
)
# the transactions are in newest-first order
# the transactions are in newest-first order
self
.
assertEqual
(
entry
[
'description'
],
'Change %i'
%
(
3
-
i
))
self
.
assertEqual
(
entry
[
'description'
],
'Change %i'
%
(
3
-
i
))
self
.
failUnless
(
'key'
in
entry
)
self
.
failUnless
(
'key'
in
entry
)
# lets not assume the size will stay the same forever
# lets not assume the size will stay the same forever
self
.
failUnless
(
'size'
in
entry
)
self
.
failUnless
(
'size'
in
entry
)
self
.
failUnless
(
'tid'
in
entry
)
self
.
failUnless
(
'tid'
in
entry
)
self
.
failUnless
(
'time'
in
entry
)
self
.
failUnless
(
'time'
in
entry
)
if
i
:
if
i
:
# check times are increasing
# check times are increasing
self
.
failUnless
(
entry
[
'time'
]
<
r
[
i
-
1
][
'time'
])
self
.
failUnless
(
entry
[
'time'
]
<
r
[
i
-
1
][
'time'
])
...
@@ -75,22 +82,19 @@ class HistoryTests(unittest.TestCase):
...
@@ -75,22 +82,19 @@ class HistoryTests(unittest.TestCase):
def
test_manage_historyCopy
(
self
):
def
test_manage_historyCopy
(
self
):
# we assume this works 'cos it's tested above
# we assume this works 'cos it's tested above
r
=
self
.
ps
.
manage_change_history
()
r
=
self
.
hi
.
manage_change_history
()
# now we do the copy
# now we do the copy
self
.
ps
.
manage_historyCopy
(
self
.
hi
.
manage_historyCopy
(
keys
=
[
r
[
2
][
'key'
]]
keys
=
[
r
[
2
][
'key'
]]
)
)
# do a commit, just like ZPublisher would
# do a commit, just like ZPublisher would
transaction
.
commit
()
transaction
.
commit
()
# check the body is as it should be, we assume (hopefully not foolishly)
# check the body is as it should be, we assume (hopefully not foolishly)
# that all other attributes will behave the same
# that all other attributes will behave the same
self
.
assertEqual
(
self
.
ps
.
_body
,
self
.
assertEqual
(
self
.
hi
.
title
,
'
return 1
\
n
'
)
'
First title
'
)
def
test_suite
():
def
test_suite
():
suite
=
unittest
.
TestSuite
()
suite
=
unittest
.
TestSuite
()
suite
.
addTest
(
unittest
.
makeSuite
(
HistoryTests
)
)
suite
.
addTest
(
unittest
.
makeSuite
(
HistoryTests
)
)
return
suite
return
suite
if
__name__
==
'__main__'
:
unittest
.
main
(
defaultTest
=
'test_suite'
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment