Skip to content

Commit 9ede6b6

Browse files
General housekeeping
1 parent ea9c7c3 commit 9ede6b6

File tree

32 files changed

+9763
-22199
lines changed

32 files changed

+9763
-22199
lines changed

docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ services:
2020
- ./backups:/calcus/backups
2121
- ./logs:/calcus/logs
2222
- ./frontend/migrations:/calcus/frontend/migrations
23+
- ./scripts:/calcus/scripts
2324
links:
2425
- redis
2526
env_file:

frontend/calcusliveserver.py

Lines changed: 222 additions & 214 deletions
Large diffs are not rendered by default.

frontend/templates/frontend/base.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@
200200

201201

202202
{% if user.profile.group != None %}
203-
<div class="navbar-item has-dropdown is-hoverable">
203+
<div class="navbar-item has-dropdown is-hoverable" id="navbar_group">
204204
<a class="navbar-link">Research Group</a>
205205
<div class="navbar-dropdown">
206206
<a class="navbar-item" href="/projects/{{ user.profile.group.PI.username }}">{{ user.profile.group.PI.username }}</a>
@@ -211,7 +211,7 @@
211211
</div>
212212
{% endif %}
213213
{% if user.profile.clusteraccess_owner.count > 0 %}
214-
<div class="navbar-item has-dropdown is-hoverable">
214+
<div class="navbar-item has-dropdown is-hoverable" id="navbar_accesses">
215215
<a class="navbar-link">Cluster Accesses</a>
216216
<div class="navbar-dropdown">
217217
{% for a in user.profile.clusteraccess_owner.all %}

frontend/test_cluster.py

Lines changed: 40 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -95,15 +95,16 @@ def run_daemon(self):
9595

9696
def test_setup(self):
9797
self.setup_cluster()
98-
msg = self.driver.find_element_by_id("test_msg").text
98+
msg = self.driver.find_element(By.ID, "test_msg").text
9999
self.assertEqual(msg, "Connected")
100100

101101
def setup_cluster(self):
102102
self.lget("/profile")
103103

104104
try:
105-
access = self.driver.find_element_by_css_selector(
106-
"#owned_accesses > center > table > tbody > tr > th:nth-child(3) > a"
105+
access = self.driver.find_element(
106+
By.CSS_SELECTOR,
107+
"#owned_accesses > center > table > tbody > tr > th:nth-child(3) > a",
107108
)
108109
except selenium.common.exceptions.NoSuchElementException:
109110
pass
@@ -134,7 +135,7 @@ def test_delete_access(self):
134135
while not main_window_handle:
135136
main_window_handle = self.driver.current_window_handle
136137

137-
delete_access = self.driver.find_element_by_id("delete_access_button")
138+
delete_access = self.driver.find_element(By.ID, "delete_access_button")
138139
delete_access.click()
139140

140141
alert = Alert(self.driver)
@@ -151,25 +152,25 @@ def test_delete_access(self):
151152
def test_cluster_settings(self):
152153
self.lget("/profile")
153154

154-
adress = self.driver.find_element_by_name("cluster_address")
155+
adress = self.driver.find_element(By.NAME, "cluster_address")
155156
adress.send_keys("localhost")
156157

157-
username = self.driver.find_element_by_name("cluster_username")
158+
username = self.driver.find_element(By.NAME, "cluster_username")
158159
username.send_keys("cluster")
159160

160-
pal = self.driver.find_element_by_name("cluster_cores")
161+
pal = self.driver.find_element(By.NAME, "cluster_cores")
161162
pal.clear()
162163
pal.send_keys("8")
163164

164-
memory = self.driver.find_element_by_name("cluster_memory")
165+
memory = self.driver.find_element(By.NAME, "cluster_memory")
165166
memory.clear()
166167
memory.send_keys("10000")
167168

168-
password = self.driver.find_element_by_name("cluster_password")
169+
password = self.driver.find_element(By.NAME, "cluster_password")
169170
password.clear()
170171
password.send_keys("Selenium")
171172

172-
self.driver.find_element_by_id("add_access_button").click()
173+
self.driver.find_element(By.ID, "add_access_button").click()
173174
element = WebDriverWait(self.driver, 10).until(
174175
EC.presence_of_element_located((By.ID, "public_key_area"))
175176
)
@@ -184,25 +185,25 @@ def test_cluster_settings(self):
184185
def test_cluster_settings2(self):
185186
self.lget("/profile")
186187

187-
adress = self.driver.find_element_by_name("cluster_address")
188+
adress = self.driver.find_element(By.NAME, "cluster_address")
188189
adress.send_keys("localhost")
189190

190-
username = self.driver.find_element_by_name("cluster_username")
191+
username = self.driver.find_element(By.NAME, "cluster_username")
191192
username.send_keys("cluster")
192193

193-
pal = self.driver.find_element_by_name("cluster_cores")
194+
pal = self.driver.find_element(By.NAME, "cluster_cores")
194195
pal.clear()
195196
pal.send_keys("24")
196197

197-
memory = self.driver.find_element_by_name("cluster_memory")
198+
memory = self.driver.find_element(By.NAME, "cluster_memory")
198199
memory.clear()
199200
memory.send_keys("31000")
200201

201-
password = self.driver.find_element_by_name("cluster_password")
202+
password = self.driver.find_element(By.NAME, "cluster_password")
202203
password.clear()
203204
password.send_keys("Selenium")
204205

205-
self.driver.find_element_by_id("add_access_button").click()
206+
self.driver.find_element(By.ID, "add_access_button").click()
206207
element = WebDriverWait(self.driver, 10).until(
207208
EC.presence_of_element_located((By.ID, "public_key_area"))
208209
)
@@ -216,20 +217,21 @@ def test_cluster_settings2(self):
216217

217218
def test_connection_gui(self):
218219
self.setup_cluster()
219-
msg = self.driver.find_element_by_id("test_msg").text
220+
msg = self.driver.find_element(By.ID, "test_msg").text
220221
self.assertEqual(msg, "Connected")
221222

222223
self.lget("/profile/")
223-
manage = self.driver.find_element_by_css_selector(
224-
"#owned_accesses > center > table > tbody > tr > th:nth-child(3) > a"
224+
manage = self.driver.find_element(
225+
By.CSS_SELECTOR,
226+
"#owned_accesses > center > table > tbody > tr > th:nth-child(3) > a",
225227
)
226228
manage.send_keys(Keys.RETURN)
227229

228230
element = WebDriverWait(self.driver, 10).until(
229231
EC.text_to_be_present_in_element((By.ID, "status_box"), "Connected")
230232
)
231233
self.assertNotEqual(
232-
self.driver.find_element_by_id("status_box").text.find("Connected"), -1
234+
self.driver.find_element(By.ID, "status_box").text.find("Connected"), -1
233235
)
234236

235237
def test_autoselect_resource_remote(self):
@@ -250,7 +252,9 @@ def test_autoselect_resource_remote(self):
250252

251253
self.lget("/launch/")
252254

253-
resources = self.driver.find_elements_by_css_selector("#calc_resource > option")
255+
resources = self.driver.find_elements(
256+
By.CSS_SELECTOR, "#calc_resource > option"
257+
)
254258
self.assertEqual(len(resources), 2)
255259
self.assertEqual(resources[0].text, "Local")
256260
self.assertTrue(resources[0].is_selected())
@@ -260,7 +264,9 @@ def test_autoselect_resource_remote(self):
260264

261265
self.calc_input_params(params)
262266

263-
resources = self.driver.find_elements_by_css_selector("#calc_resource > option")
267+
resources = self.driver.find_elements(
268+
By.CSS_SELECTOR, "#calc_resource > option"
269+
)
264270
self.assertEqual(len(resources), 2)
265271
self.assertEqual(resources[0].text, "Local")
266272
self.assertFalse(resources[0].is_selected())
@@ -277,7 +283,9 @@ def test_autoselect_resource_remote(self):
277283
self.launch_ensemble_next_step()
278284
self.wait_for_ajax()
279285

280-
resources = self.driver.find_elements_by_css_selector("#calc_resource > option")
286+
resources = self.driver.find_elements(
287+
By.CSS_SELECTOR, "#calc_resource > option"
288+
)
281289
self.assertEqual(len(resources), 2)
282290
self.assertEqual(resources[0].text, "Local")
283291
self.assertFalse(resources[0].is_selected())
@@ -303,7 +311,9 @@ def test_autoselect_resource_local(self):
303311

304312
self.lget("/launch/")
305313

306-
resources = self.driver.find_elements_by_css_selector("#calc_resource > option")
314+
resources = self.driver.find_elements(
315+
By.CSS_SELECTOR, "#calc_resource > option"
316+
)
307317
self.assertEqual(len(resources), 2)
308318
self.assertEqual(resources[0].text, "Local")
309319
self.assertTrue(resources[0].is_selected())
@@ -313,7 +323,9 @@ def test_autoselect_resource_local(self):
313323

314324
self.calc_input_params(params)
315325

316-
resources = self.driver.find_elements_by_css_selector("#calc_resource > option")
326+
resources = self.driver.find_elements(
327+
By.CSS_SELECTOR, "#calc_resource > option"
328+
)
317329
self.assertEqual(len(resources), 2)
318330
self.assertEqual(resources[0].text, "Local")
319331
self.assertTrue(resources[0].is_selected())
@@ -330,7 +342,9 @@ def test_autoselect_resource_local(self):
330342
self.launch_ensemble_next_step()
331343
self.wait_for_ajax()
332344

333-
resources = self.driver.find_elements_by_css_selector("#calc_resource > option")
345+
resources = self.driver.find_elements(
346+
By.CSS_SELECTOR, "#calc_resource > option"
347+
)
334348
self.assertEqual(len(resources), 2)
335349
self.assertEqual(resources[0].text, "Local")
336350
self.assertTrue(resources[0].is_selected())

frontend/test_selenium.py

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -853,12 +853,12 @@ def test_load_preset(self):
853853

854854
self.load_preset("Test Preset")
855855

856-
solvent = self.driver.find_element_by_name("calc_solvent")
857-
theory = Select(self.driver.find_element_by_id("calc_theory_level"))
858-
func = self.driver.find_element_by_id("calc_functional")
859-
basis_set = self.driver.find_element_by_id("calc_basis_set")
860-
specifications = self.driver.find_element_by_id("calc_specifications")
861-
software = self.driver.find_element_by_id("calc_software")
856+
solvent = self.driver.find_element(By.NAME, "calc_solvent")
857+
theory = Select(self.driver.find_element(By.ID, "calc_theory_level"))
858+
func = self.driver.find_element(By.ID, "calc_functional")
859+
basis_set = self.driver.find_element(By.ID, "calc_basis_set")
860+
specifications = self.driver.find_element(By.ID, "calc_specifications")
861+
software = self.driver.find_element(By.ID, "calc_software")
862862

863863
self.assertEqual(solvent.get_attribute("value"), params["solvent"])
864864
self.assertEqual(theory.first_selected_option.text, params["theory"])
@@ -893,18 +893,18 @@ def test_project_preset(self):
893893
self.click_project("My Project")
894894
self.create_molecule_in_project()
895895

896-
solvent = self.driver.find_element_by_name("calc_solvent")
896+
solvent = self.driver.find_element(By.NAME, "calc_solvent")
897897
solvation_model = Select(
898-
self.driver.find_element_by_name("calc_solvation_model")
898+
self.driver.find_element(By.NAME, "calc_solvation_model")
899899
)
900900
solvation_radii = Select(
901-
self.driver.find_element_by_name("calc_solvation_radii")
901+
self.driver.find_element(By.NAME, "calc_solvation_radii")
902902
)
903-
theory = Select(self.driver.find_element_by_id("calc_theory_level"))
904-
func = self.driver.find_element_by_id("calc_functional")
905-
basis_set = self.driver.find_element_by_id("calc_basis_set")
906-
software = self.driver.find_element_by_id("calc_software")
907-
specifications = self.driver.find_element_by_id("calc_specifications")
903+
theory = Select(self.driver.find_element(By.ID, "calc_theory_level"))
904+
func = self.driver.find_element(By.ID, "calc_functional")
905+
basis_set = self.driver.find_element(By.ID, "calc_basis_set")
906+
software = self.driver.find_element(By.ID, "calc_software")
907+
specifications = self.driver.find_element(By.ID, "calc_specifications")
908908

909909
self.assertEqual(solvent.get_attribute("value"), params["solvent"])
910910
self.assertEqual(
@@ -1549,7 +1549,7 @@ def test_request_PI(self):
15491549
self.lget("/profile/")
15501550
self.apply_PI("Test group")
15511551
self.assertTrue(
1552-
self.driver.find_element_by_id("PI_application_message").text.find(
1552+
self.driver.find_element(By.ID, "PI_application_message").text.find(
15531553
"Your request has been received"
15541554
)
15551555
!= -1
@@ -1993,7 +1993,7 @@ def test_ensemble_second_step(self):
19931993
}
19941994
self.calc_input_params(params2)
19951995

1996-
charge = self.driver.find_element_by_name("calc_charge")
1996+
charge = self.driver.find_element(By.NAME, "calc_charge")
19971997
self.assertEqual(charge.get_attribute("value"), params["charge"])
19981998

19991999
self.calc_launch()
@@ -2027,7 +2027,7 @@ def test_ensemble_second_step_mult(self):
20272027
}
20282028
self.calc_input_params(params2)
20292029

2030-
mult = self.driver.find_element_by_name("calc_multiplicity")
2030+
mult = self.driver.find_element(By.NAME, "calc_multiplicity")
20312031
self.assertEqual(mult.get_attribute("value"), params["multiplicity"])
20322032

20332033
def test_structure_second_step(self):
@@ -2054,7 +2054,7 @@ def test_structure_second_step(self):
20542054
# project and charge implicit
20552055
}
20562056

2057-
charge = self.driver.find_element_by_name("calc_charge")
2057+
charge = self.driver.find_element(By.NAME, "calc_charge")
20582058
self.assertEqual(charge.get_attribute("value"), params["charge"])
20592059

20602060
self.calc_input_params(params2)
@@ -2277,12 +2277,12 @@ def test_default_settings_from_ensemble(self):
22772277

22782278
self.launch_ensemble_next_step()
22792279

2280-
solvent = self.driver.find_element_by_name("calc_solvent")
2281-
charge = self.driver.find_element_by_name("calc_charge")
2280+
solvent = self.driver.find_element(By.NAME, "calc_solvent")
2281+
charge = self.driver.find_element(By.NAME, "calc_charge")
22822282
solvation_model = Select(
2283-
self.driver.find_element_by_name("calc_solvation_model")
2283+
self.driver.find_element(By.NAME, "calc_solvation_model")
22842284
)
2285-
software = self.driver.find_element_by_id("calc_software")
2285+
software = self.driver.find_element(By.ID, "calc_software")
22862286

22872287
self.assertEqual(solvent.get_attribute("value"), params["solvent"])
22882288
self.assertEqual(charge.get_attribute("value"), params["charge"])
@@ -2314,12 +2314,12 @@ def test_default_settings_from_structure(self):
23142314

23152315
self.launch_structure_next_step()
23162316

2317-
solvent = self.driver.find_element_by_name("calc_solvent")
2318-
charge = self.driver.find_element_by_name("calc_charge")
2317+
solvent = self.driver.find_element(By.NAME, "calc_solvent")
2318+
charge = self.driver.find_element(By.NAME, "calc_charge")
23192319
solvation_model = Select(
2320-
self.driver.find_element_by_name("calc_solvation_model")
2320+
self.driver.find_element(By.NAME, "calc_solvation_model")
23212321
)
2322-
software = self.driver.find_element_by_id("calc_software")
2322+
software = self.driver.find_element(By.ID, "calc_software")
23232323

23242324
self.assertEqual(solvent.get_attribute("value"), params["solvent"])
23252325
self.assertEqual(charge.get_attribute("value"), params["charge"])
@@ -2351,12 +2351,12 @@ def test_default_settings_from_frame(self):
23512351
self.details_first_calc()
23522352
self.launch_frame_next_step()
23532353

2354-
solvent = self.driver.find_element_by_name("calc_solvent")
2355-
charge = self.driver.find_element_by_name("calc_charge")
2354+
solvent = self.driver.find_element(By.NAME, "calc_solvent")
2355+
charge = self.driver.find_element(By.NAME, "calc_charge")
23562356
solvation_model = Select(
2357-
self.driver.find_element_by_name("calc_solvation_model")
2357+
self.driver.find_element(By.NAME, "calc_solvation_model")
23582358
)
2359-
software = self.driver.find_element_by_id("calc_software")
2359+
software = self.driver.find_element(By.ID, "calc_software")
23602360

23612361
self.assertEqual(solvent.get_attribute("value"), params["solvent"])
23622362
self.assertEqual(charge.get_attribute("value"), params["charge"])
@@ -4058,7 +4058,7 @@ def test_input_file_present(self):
40584058
self.details_latest_order()
40594059
self.details_first_calc()
40604060

4061-
input_file = self.driver.find_element_by_css_selector(".textarea")
4061+
input_file = self.driver.find_element(By.CSS_SELECTOR, ".textarea")
40624062
assert len(input_file.text) > 10
40634063

40644064
def test_sp_from_frame(self):

frontend/tests/cache/frontend.test_calculations.OrcaCalculationTests.test_ts_DFT.input

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ H 1.99826837 0.05502843 0.00651241
66
H 0.59453997 -0.48560162 0.83949232
77
H 0.66998094 -0.58930117 -0.87511947
88
*
9+
%geom
10+
Calc_Hess true
11+
end
912
%pal
1013
nprocs 4
1114
end

frontend/tests/cache/frontend.test_calculations.OrcaCalculationTests.test_ts_DFT/calc.inp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ H 1.99826837 0.05502843 0.00651241
55
H 0.59453997 -0.48560162 0.83949232
66
H 0.66998094 -0.58930117 -0.87511947
77
*
8+
%geom
9+
Calc_Hess true
10+
end
811
%pal
912
nprocs 4
1013
end

0 commit comments

Comments
 (0)