7
7
import time
8
8
import os
9
9
from selenium .webdriver .common .by import By
10
- from urlparse import *
11
10
import argparse
12
11
from selenium .webdriver .support import expected_conditions as EC
13
12
import sys
14
- print sys .path
15
13
import yaml
16
14
17
15
sys .path .append (os .path .dirname (__file__ ))
@@ -25,46 +23,51 @@ class SiteTest(unittest.TestCase):
25
23
26
24
def setUp (self ):
27
25
28
- base_dir = os .path .dirname (os .path .dirname (os .path .dirname ( os . path . abspath (__file__ ) )))
26
+ base_dir = os .path .dirname (os .path .dirname (os .path .abspath (__file__ )))
29
27
30
28
chromeOptions = webdriver .ChromeOptions ()
31
- prefs = {"download.default_directory" : os .path .join (base_dir ,'cm' , 'tests' )}
29
+ prefs = {"download.default_directory" : os .path .join (base_dir , 'project' , 'tests' , 'fixtures ' )}
32
30
chromeOptions .add_experimental_option ("prefs" , prefs )
33
- chrome_driver = os .path .join (base_dir , 'extra' , 'chromedriver' )
34
- self .driver = webdriver .Chrome ('/Devel/cmdb/extra/chromedriver' , chrome_options = chromeOptions )
35
- operator_data = os .path .join (base_dir , 'extra ' , 'fixtures' , 'operator_data.yaml' )
31
+ chrome_driver = os .path .join (base_dir , 'tests' , ' extra' , 'chromedriver' )
32
+ self .driver = webdriver .Chrome (chrome_driver , options = chromeOptions )
33
+ operator_data = os .path .join (base_dir , 'tests ' , 'fixtures' , 'operator_data.yaml' )
36
34
if not os .path .exists (operator_data ):
37
- print ('operator_data .yaml does not exist, copy example_operator_data .yaml and add your credentials' )
35
+ print ('site_data .yaml does not exist, copy example_site_data .yaml and add your credentials' )
38
36
sys .exit (0 )
39
37
with open (operator_data ) as fp :
40
- creds = yaml .safe_load (fp )
38
+ creds = yaml .load (fp , Loader = yaml . FullLoader )
41
39
42
40
if len (sys .argv ) > 1 :
43
41
with open (os .path .join (base_dir , 'extra' , 'fixtures' , sys .argv [1 ])) as fp :
44
42
site_data = yaml .safe_load (fp )
45
43
else :
46
- with open (os .path .join (base_dir , 'extra ' , 'fixtures' , 'test_sgp_data .yaml' )) as fp :
44
+ with open (os .path .join (base_dir , 'tests ' , 'fixtures' , 'site_data .yaml' )) as fp :
47
45
site_data = yaml .safe_load (fp )
48
46
49
47
self .url = site_data ['site_params' ]['PHAME_TEST_URL' ]
50
- self .operator_credentials = creds ['operator_credentials' ]
48
+ self .users_url = site_data ['site_params' ]['PHAME_USERS_URL' ]
49
+ self .operator_credentials = creds ['user_credentials' ]
51
50
self .admin_credentials = creds ['admin_credentials' ]
52
51
52
+ def tearDown (self ):
53
+ self .driver .get (self .url + '/users/logout' )
54
+ self .driver .close ()
55
+
56
+
53
57
def admin_login (self ):
54
- self .admin_logout ()
55
- self .driver .get (self .url )
58
+ self .logout ()
59
+ self .driver .get (f" { self .users_url } /login" )
56
60
element = WebDriverWait (self .driver , 10 ).until (
57
61
lambda driver : self .driver .find_element_by_tag_name ('a' ))
58
62
username = self .driver .find_element_by_name ("username" )
59
63
password = self .driver .find_element_by_name ("password" )
60
64
username .clear ()
61
65
username .send_keys (self .admin_credentials ['PHAME_ADMIN_USERNAME' ])
62
66
password .send_keys (self .admin_credentials ['PHAME_ADMIN_PASSWORD' ])
63
- self .driver .find_element_by_name ("submitbutton" ).click ()
64
-
67
+ self .driver .find_element_by_name ("submit" ).click ()
65
68
66
- def admin_logout (self ):
67
- self .driver .get (self .url + '/accounts /logout' )
69
+ def logout (self ):
70
+ self .driver .get (self .users_url + '/logout' )
68
71
69
72
def login (self ):
70
73
username = self .driver .find_element_by_name ("username" )
@@ -73,4 +76,39 @@ def login(self):
73
76
username .send_keys (self .operator_credentials ['PHAME_OPERATOR_USERNAME' ])
74
77
password .send_keys (self .operator_credentials ['PHAME_OPERATOR_PASSWORD' ])
75
78
76
- self .driver .find_element_by_name ("submitbutton" ).click ()
79
+ self .driver .find_element_by_name ("submit" ).click ()
80
+
81
+ def test_admin_login (self ):
82
+ self .logout ()
83
+ self .driver .get (f"{ self .users_url } /login" )
84
+ username = self .driver .find_element_by_name ("username" )
85
+ password = self .driver .find_element_by_name ("password" )
86
+ username .clear ()
87
+ username .send_keys (self .admin_credentials ['PHAME_ADMIN_USERNAME' ])
88
+ password .send_keys (self .admin_credentials ['PHAME_ADMIN_PASSWORD' ])
89
+ self .driver .find_element_by_name ("submit" ).click ()
90
+ header = self .driver .find_element_by_xpath ('// *[ @ id = "content"] / h1' )
91
+ self .assertIn ('PhaME Input' , header .text )
92
+
93
+ def test_login (self ):
94
+ self .logout ()
95
+ self .driver .get (f"{ self .users_url } /login" )
96
+ username = self .driver .find_element_by_name ("username" )
97
+ password = self .driver .find_element_by_name ("password" )
98
+ username .clear ()
99
+ username .send_keys (self .operator_credentials ['PHAME_USER_USERNAME' ])
100
+ password .send_keys (self .operator_credentials ['PHAME_USER_PASSWORD' ])
101
+ self .driver .find_element_by_name ("submit" ).click ()
102
+ header = self .driver .find_element_by_xpath ('// *[ @ id = "content"] / h1' )
103
+ self .assertIn ('PhaME Input' , header .text )
104
+
105
+ def test_create_user (self ):
106
+ # delete operator user
107
+ self .driver .get (self .users_url + "/register" )
108
+ username = self .driver .find_element_by_name ("username" )
109
+ password = self .driver .find_element_by_name ("password" )
110
+ password2 = self .driver .find_element_by_name ("password2" )
111
+ email = self .driver .find_element_by_name ("email" )
112
+ username .send_keys ('test_user' )
113
+ password .send_keys ('test_password' )
114
+
0 commit comments