Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.toolbox
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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jérome Perrin
slapos.toolbox
Commits
f1249e1d
Commit
f1249e1d
authored
Oct 25, 2013
by
Nicolas Wavrant
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slaprunner: modified tests for the new runner
parent
d23037d1
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
59 deletions
+6
-59
slapos/runner/runnertest.py
slapos/runner/runnertest.py
+6
-59
No files found.
slapos/runner/runnertest.py
View file @
f1249e1d
...
@@ -63,7 +63,6 @@ class SlaprunnerTestCase(unittest.TestCase):
...
@@ -63,7 +63,6 @@ class SlaprunnerTestCase(unittest.TestCase):
self
.
project
=
'slapos'
# Default project name
self
.
project
=
'slapos'
# Default project name
self
.
template
=
'template.cfg'
self
.
template
=
'template.cfg'
self
.
partitionPrefix
=
'slappart'
self
.
partitionPrefix
=
'slappart'
self
.
slaposBuildout
=
"1.6.0-dev-SlapOS-010"
#create slaprunner configuration
#create slaprunner configuration
config
=
Config
()
config
=
Config
()
config
.
setConfig
()
config
.
setConfig
()
...
@@ -110,7 +109,6 @@ class SlaprunnerTestCase(unittest.TestCase):
...
@@ -110,7 +109,6 @@ class SlaprunnerTestCase(unittest.TestCase):
shutil
.
rmtree
(
self
.
app
.
config
[
'instance_root'
])
shutil
.
rmtree
(
self
.
app
.
config
[
'instance_root'
])
if
os
.
path
.
exists
(
self
.
app
.
config
[
'software_link'
]):
if
os
.
path
.
exists
(
self
.
app
.
config
[
'software_link'
]):
shutil
.
rmtree
(
self
.
app
.
config
[
'software_link'
])
shutil
.
rmtree
(
self
.
app
.
config
[
'software_link'
])
self
.
logout
()
#Stop process
#Stop process
killRunningProcess
(
'slapproxy'
,
recursive
=
True
)
killRunningProcess
(
'slapproxy'
,
recursive
=
True
)
killRunningProcess
(
'slapgrid-cp'
,
recursive
=
True
)
killRunningProcess
(
'slapgrid-cp'
,
recursive
=
True
)
...
@@ -128,26 +126,11 @@ class SlaprunnerTestCase(unittest.TestCase):
...
@@ -128,26 +126,11 @@ class SlaprunnerTestCase(unittest.TestCase):
),
),
follow_redirects
=
True
)
follow_redirects
=
True
)
def
login
(
self
,
username
,
password
):
"""Helper for Login method"""
return
self
.
app
.
post
(
'/doLogin'
,
data
=
dict
(
clogin
=
username
,
cpwd
=
password
),
follow_redirects
=
True
)
def
setAccount
(
self
):
def
setAccount
(
self
):
"""Initialize user account and log user in"""
"""Initialize user account and log user in"""
response
=
loadJson
(
self
.
configAccount
(
self
.
users
[
0
],
self
.
users
[
1
],
response
=
loadJson
(
self
.
configAccount
(
self
.
users
[
0
],
self
.
users
[
1
],
self
.
users
[
2
],
self
.
users
[
3
],
self
.
rcode
))
self
.
users
[
2
],
self
.
users
[
3
],
self
.
rcode
))
response2
=
loadJson
(
self
.
login
(
self
.
users
[
0
],
self
.
users
[
1
]))
self
.
assertEqual
(
response
[
'result'
],
""
)
self
.
assertEqual
(
response
[
'result'
],
""
)
self
.
assertEqual
(
response2
[
'result'
],
""
)
def
logout
(
self
):
"""Helper for Logout current user"""
return
self
.
app
.
get
(
'/dologout'
,
follow_redirects
=
True
)
def
updateAccount
(
self
,
newaccount
,
rcode
):
def
updateAccount
(
self
,
newaccount
,
rcode
):
"""Helper for update user account data"""
"""Helper for update user account data"""
...
@@ -186,8 +169,7 @@ class SlaprunnerTestCase(unittest.TestCase):
...
@@ -186,8 +169,7 @@ class SlaprunnerTestCase(unittest.TestCase):
sr
+=
"find-links += http://www.nexedi.org/static/packages/source/slapos.buildout/
\
n
\
n
"
sr
+=
"find-links += http://www.nexedi.org/static/packages/source/slapos.buildout/
\
n
\
n
"
sr
+=
"[networkcache]
\
n
download-cache-url = http://www.shacache.org/shacache"
sr
+=
"[networkcache]
\
n
download-cache-url = http://www.shacache.org/shacache"
sr
+=
"
\
n
download-dir-url = http://www.shacache.org/shadir
\
n
\
n
"
sr
+=
"
\
n
download-dir-url = http://www.shacache.org/shadir
\
n
\
n
"
sr
+=
"[command]
\
n
recipe = zc.recipe.egg
\
n
eggs = plone.recipe.command
\
n
\
n
"
sr
+=
"[command]
\
n
recipe = zc.recipe.egg
\
n
eggs = plone.recipe.command
\
n
zc.buildout
\
n
\
n
"
sr
+=
"[versions]
\
n
zc.buildout = %s
\
n
"
%
self
.
slaposBuildout
os
.
mkdir
(
testSoftware
)
os
.
mkdir
(
testSoftware
)
open
(
os
.
path
.
join
(
testSoftware
,
self
.
app
.
config
[
'software_profile'
]),
open
(
os
.
path
.
join
(
testSoftware
,
self
.
app
.
config
[
'software_profile'
]),
'w'
).
write
(
sr
)
'w'
).
write
(
sr
)
...
@@ -216,13 +198,6 @@ class SlaprunnerTestCase(unittest.TestCase):
...
@@ -216,13 +198,6 @@ class SlaprunnerTestCase(unittest.TestCase):
"""Kill slapproxy process"""
"""Kill slapproxy process"""
killRunningProcess
(
'slapproxy'
,
recursive
=
True
)
killRunningProcess
(
'slapproxy'
,
recursive
=
True
)
#Begin test case here
def
test_wrong_login
(
self
):
"""Test Login user before create session. This should return an error value"""
response
=
self
.
login
(
self
.
users
[
0
],
self
.
users
[
1
])
#redirect to config account page
assert
"<h2 class='title'>Your personal information</h2><br/>"
in
response
.
data
def
test_configAccount
(
self
):
def
test_configAccount
(
self
):
"""For the first lauch of slaprunner user need do create first account"""
"""For the first lauch of slaprunner user need do create first account"""
result
=
self
.
configAccount
(
self
.
users
[
0
],
self
.
users
[
1
],
self
.
users
[
2
],
result
=
self
.
configAccount
(
self
.
users
[
0
],
self
.
users
[
1
],
self
.
users
[
2
],
...
@@ -232,34 +207,18 @@ class SlaprunnerTestCase(unittest.TestCase):
...
@@ -232,34 +207,18 @@ class SlaprunnerTestCase(unittest.TestCase):
account
=
getSession
(
self
.
app
.
config
)
account
=
getSession
(
self
.
app
.
config
)
self
.
assertEqual
(
account
,
self
.
users
)
self
.
assertEqual
(
account
,
self
.
users
)
def
test_login_logout
(
self
):
"""test login with good and wrong values, test logout"""
response
=
loadJson
(
self
.
configAccount
(
self
.
users
[
0
],
self
.
users
[
1
],
self
.
users
[
2
],
self
.
users
[
3
],
self
.
rcode
))
self
.
assertEqual
(
response
[
'result'
],
""
)
result
=
loadJson
(
self
.
login
(
self
.
users
[
0
],
"wrongpwd"
))
self
.
assertEqual
(
result
[
'result'
],
"Login or password is incorrect, please check it!"
)
resultwr
=
loadJson
(
self
.
login
(
"wronglogin"
,
"wrongpwd"
))
self
.
assertEqual
(
resultwr
[
'result'
],
"Login or password is incorrect, please check it!"
)
#try now with true values
resultlg
=
loadJson
(
self
.
login
(
self
.
users
[
0
],
self
.
users
[
1
]))
self
.
assertEqual
(
resultlg
[
'result'
],
""
)
#after login test logout
result
=
self
.
logout
()
assert
"<h2>Login to Slapos Web Runner</h2>"
in
result
.
data
def
test_updateAccount
(
self
):
def
test_updateAccount
(
self
):
"""test Update accound, this needs the user to log in"""
"""test Update accound, this needs the user to log in"""
self
.
setAccount
()
self
.
setAccount
()
response
=
loadJson
(
self
.
updateAccount
(
self
.
updateUser
,
self
.
rcode
))
response
=
loadJson
(
self
.
updateAccount
(
self
.
updateUser
,
self
.
rcode
))
self
.
assertEqual
(
response
[
'code'
],
1
)
self
.
assertEqual
(
response
[
'code'
],
1
)
result
=
self
.
logout
()
#
result = self.logout()
assert
"<h2>Login to Slapos Web Runner</h2>"
in
result
.
data
#
assert "<h2>Login to Slapos Web Runner</h2>" in result.data
#retry login with new values
#retry login with new values
response
=
loadJson
(
self
.
login
(
self
.
updateUser
[
0
],
self
.
updateUser
[
1
]))
#
response = loadJson(self.login(self.updateUser[0], self.updateUser[1]))
self
.
assertEqual
(
response
[
'result'
],
""
)
#
self.assertEqual(response['result'], "")
#log out now!
#log out now!
self
.
logout
()
#
self.logout()
def
test_startProxy
(
self
):
def
test_startProxy
(
self
):
"""Test slapproxy"""
"""Test slapproxy"""
...
@@ -301,7 +260,6 @@ class SlaprunnerTestCase(unittest.TestCase):
...
@@ -301,7 +260,6 @@ class SlaprunnerTestCase(unittest.TestCase):
),
),
follow_redirects
=
True
))
follow_redirects
=
True
))
self
.
assertEqual
(
response
[
'result'
],
""
)
self
.
assertEqual
(
response
[
'result'
],
""
)
self
.
logout
()
def
test_createSR
(
self
):
def
test_createSR
(
self
):
"""Scenario 2: Create a new software release"""
"""Scenario 2: Create a new software release"""
...
@@ -315,13 +273,10 @@ class SlaprunnerTestCase(unittest.TestCase):
...
@@ -315,13 +273,10 @@ class SlaprunnerTestCase(unittest.TestCase):
self
.
assertEqual
(
response
[
'result'
],
""
)
self
.
assertEqual
(
response
[
'result'
],
""
)
currentSR
=
self
.
getCurrentSR
()
currentSR
=
self
.
getCurrentSR
()
assert
newSoftware
in
currentSR
assert
newSoftware
in
currentSR
self
.
logout
()
def
test_openSR
(
self
):
def
test_openSR
(
self
):
"""Scenario 3: Open software release"""
"""Scenario 3: Open software release"""
self
.
test_cloneProject
()
self
.
test_cloneProject
()
#Login
self
.
login
(
self
.
users
[
0
],
self
.
users
[
1
])
software
=
os
.
path
.
join
(
self
.
software
,
'drupal'
)
# Drupal SR must exist in SR folder
software
=
os
.
path
.
join
(
self
.
software
,
'drupal'
)
# Drupal SR must exist in SR folder
response
=
loadJson
(
self
.
app
.
post
(
'/setCurrentProject'
,
response
=
loadJson
(
self
.
app
.
post
(
'/setCurrentProject'
,
data
=
dict
(
path
=
software
),
data
=
dict
(
path
=
software
),
...
@@ -336,7 +291,6 @@ class SlaprunnerTestCase(unittest.TestCase):
...
@@ -336,7 +291,6 @@ class SlaprunnerTestCase(unittest.TestCase):
# newSoftware = os.path.join(self.software, 'slaprunner-test')
# newSoftware = os.path.join(self.software, 'slaprunner-test')
self
.
proxyStatus
(
True
)
self
.
proxyStatus
(
True
)
self
.
stopSlapproxy
()
self
.
stopSlapproxy
()
self
.
logout
()
def
test_runSoftware
(
self
):
def
test_runSoftware
(
self
):
"""Scenario 4: CReate empty SR and save software.cfg file
"""Scenario 4: CReate empty SR and save software.cfg file
...
@@ -345,8 +299,6 @@ class SlaprunnerTestCase(unittest.TestCase):
...
@@ -345,8 +299,6 @@ class SlaprunnerTestCase(unittest.TestCase):
#Call config account
#Call config account
#call create software Release
#call create software Release
self
.
test_createSR
()
self
.
test_createSR
()
#Login
self
.
login
(
self
.
users
[
0
],
self
.
users
[
1
])
newSoftware
=
self
.
getCurrentSR
()
newSoftware
=
self
.
getCurrentSR
()
softwareRelease
=
"[buildout]
\
n
\
n
parts =
\
n
test-application
\
n
"
softwareRelease
=
"[buildout]
\
n
\
n
parts =
\
n
test-application
\
n
"
softwareRelease
+=
"#Test download git web repos éè@: utf-8 caracters
\
n
"
softwareRelease
+=
"#Test download git web repos éè@: utf-8 caracters
\
n
"
...
@@ -376,7 +328,6 @@ class SlaprunnerTestCase(unittest.TestCase):
...
@@ -376,7 +328,6 @@ class SlaprunnerTestCase(unittest.TestCase):
self
.
assertTrue
(
os
.
path
.
exists
(
createdFile
))
self
.
assertTrue
(
os
.
path
.
exists
(
createdFile
))
self
.
proxyStatus
(
True
)
self
.
proxyStatus
(
True
)
self
.
stopSlapproxy
()
self
.
stopSlapproxy
()
self
.
logout
()
def
test_updateInstanceParameter
(
self
):
def
test_updateInstanceParameter
(
self
):
"""Scenarion 5: Update parameters of current sofware profile"""
"""Scenarion 5: Update parameters of current sofware profile"""
...
@@ -419,13 +370,10 @@ class SlaprunnerTestCase(unittest.TestCase):
...
@@ -419,13 +370,10 @@ class SlaprunnerTestCase(unittest.TestCase):
response
=
loadJson
(
self
.
app
.
get
(
'/getParameterXml/dict'
))
response
=
loadJson
(
self
.
app
.
get
(
'/getParameterXml/dict'
))
self
.
assertEqual
(
parameterDict
,
response
[
'result'
][
'instance'
])
self
.
assertEqual
(
parameterDict
,
response
[
'result'
][
'instance'
])
self
.
stopSlapproxy
()
self
.
stopSlapproxy
()
self
.
logout
()
def
test_requestInstance
(
self
):
def
test_requestInstance
(
self
):
"""Scenarion 6: request software instance"""
"""Scenarion 6: request software instance"""
self
.
test_updateInstanceParameter
()
self
.
test_updateInstanceParameter
()
#Login
self
.
login
(
self
.
users
[
0
],
self
.
users
[
1
])
self
.
proxyStatus
(
False
,
sleep_time
=
1
)
self
.
proxyStatus
(
False
,
sleep_time
=
1
)
#run Software profile
#run Software profile
response
=
loadJson
(
self
.
app
.
post
(
'/runSoftwareProfile'
,
response
=
loadJson
(
self
.
app
.
post
(
'/runSoftwareProfile'
,
...
@@ -453,7 +401,6 @@ class SlaprunnerTestCase(unittest.TestCase):
...
@@ -453,7 +401,6 @@ class SlaprunnerTestCase(unittest.TestCase):
assert
'simple file'
in
open
(
createdFile
).
read
()
assert
'simple file'
in
open
(
createdFile
).
read
()
self
.
proxyStatus
(
True
)
self
.
proxyStatus
(
True
)
self
.
stopSlapproxy
()
self
.
stopSlapproxy
()
self
.
logout
()
def
main
():
def
main
():
...
...
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