-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
1 changed file
with
66 additions
and
72 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -71,8 +71,8 @@ def test_generate_federal_report(self): | |
fake_open = mock_open() | ||
expected_file_content = [ | ||
call("Domain name,Domain type,Agency,Organization name,City,State,Security contact email\r\n"), | ||
call("cdomain1.gov,Federal - Executive,Portfolio 1 Federal Agency,,,,(blank)\r\n"), | ||
call("cdomain11.gov,Federal - Executive,World War I Centennial Commission,,,,(blank)\r\n"), | ||
call("cdomain1.gov,Federal - Executive,World War I Centennial Commission,,,,(blank)\r\n"), | ||
call("adomain10.gov,Federal,Armed Forces Retirement Home,,,,(blank)\r\n"), | ||
call("ddomain3.gov,Federal,Armed Forces Retirement Home,,,,(blank)\r\n"), | ||
] | ||
|
@@ -93,8 +93,8 @@ def test_generate_full_report(self): | |
fake_open = mock_open() | ||
expected_file_content = [ | ||
call("Domain name,Domain type,Agency,Organization name,City,State,Security contact email\r\n"), | ||
call("cdomain1.gov,Federal - Executive,Portfolio 1 Federal Agency,,,,(blank)\r\n"), | ||
call("cdomain11.gov,Federal - Executive,World War I Centennial Commission,,,,(blank)\r\n"), | ||
call("cdomain1.gov,Federal - Executive,World War I Centennial Commission,,,,(blank)\r\n"), | ||
call("adomain10.gov,Federal,Armed Forces Retirement Home,,,,(blank)\r\n"), | ||
call("ddomain3.gov,Federal,Armed Forces Retirement Home,,,,(blank)\r\n"), | ||
call("zdomain12.gov,Interstate,,,,,(blank)\r\n"), | ||
|
@@ -251,32 +251,35 @@ def test_domain_data_type(self): | |
# We expect READY domains, | ||
# sorted alphabetially by domain name | ||
expected_content = ( | ||
"Domain name,Status,First ready on,Expiration date,Domain type,Agency,Organization name,City,State,SO," | ||
"SO email,Security contact email,Domain managers,Invited domain managers\n" | ||
"cdomain11.gov,Ready,2024-04-02,(blank),Federal - Executive,World War I Centennial Commission,,,,(blank),,," | ||
"Domain name,Status,First ready on,Expiration date,Domain type,Agency," | ||
"Organization name,City,State,SO,SO email," | ||
"Security contact email,Domain managers,Invited domain managers\n" | ||
"adomain2.gov,Dns needed,(blank),(blank),Federal - Executive," | ||
"Portfolio 1 Federal Agency,,,, ,,(blank)," | ||
"[email protected],[email protected]\n" | ||
"defaultsecurity.gov,Ready,2023-11-01,(blank),Federal - Executive," | ||
"Portfolio 1 Federal Agency,,,, ,,(blank)," | ||
'"[email protected], [email protected], [email protected]",[email protected]\n' | ||
"cdomain11.gov,Ready,2024-04-02,(blank),Federal - Executive," | ||
"World War I Centennial Commission,,,, ,,(blank)," | ||
"[email protected],\n" | ||
"defaultsecurity.gov,Ready,2023-11-01,(blank),Federal - Executive,World War I Centennial Commission,,," | ||
',,,(blank),"[email protected], [email protected], [email protected]",' | ||
"[email protected]\n" | ||
"adomain10.gov,Ready,2024-04-03,(blank),Federal,Armed Forces Retirement Home,,,,(blank),,,," | ||
"adomain10.gov,Ready,2024-04-03,(blank),Federal,Armed Forces Retirement Home,,,, ,,(blank),," | ||
"[email protected]\n" | ||
"bdomain4.gov,Unknown,(blank),(blank),Federal,Armed Forces Retirement Home,,,,(blank),,,,\n" | ||
"bdomain5.gov,Deleted,(blank),(blank),Federal,Armed Forces Retirement Home,,,,(blank),,,,\n" | ||
"bdomain6.gov,Deleted,(blank),(blank),Federal,Armed Forces Retirement Home,,,,(blank),,,,\n" | ||
"ddomain3.gov,On hold,(blank),2023-11-15,Federal,Armed Forces Retirement Home,,,,,," | ||
"[email protected],,\n" | ||
"sdomain8.gov,Deleted,(blank),(blank),Federal,Armed Forces Retirement Home,,,,(blank),,,,\n" | ||
"xdomain7.gov,Deleted,(blank),(blank),Federal,Armed Forces Retirement Home,,,,(blank),,,,\n" | ||
"zdomain9.gov,Deleted,(blank),(blank),Federal,Armed Forces Retirement Home,,,,(blank),,,,\n" | ||
"adomain2.gov,Dns needed,(blank),(blank),Interstate,,,,,(blank),,," | ||
"[email protected],[email protected]\n" | ||
"zdomain12.gov,Ready,2024-04-02,(blank),Interstate,,,,,(blank),,,[email protected],\n" | ||
"bdomain4.gov,Unknown,(blank),(blank),Federal,Armed Forces Retirement Home,,,, ,,(blank),,\n" | ||
"bdomain5.gov,Deleted,(blank),(blank),Federal,Armed Forces Retirement Home,,,, ,,(blank),,\n" | ||
"bdomain6.gov,Deleted,(blank),(blank),Federal,Armed Forces Retirement Home,,,, ,,(blank),,\n" | ||
"ddomain3.gov,On hold,(blank),2023-11-15,Federal," | ||
"Armed Forces Retirement Home,,,, ,,[email protected],,\n" | ||
"sdomain8.gov,Deleted,(blank),(blank),Federal,Armed Forces Retirement Home,,,, ,,(blank),,\n" | ||
"xdomain7.gov,Deleted,(blank),(blank),Federal,Armed Forces Retirement Home,,,, ,,(blank),,\n" | ||
"zdomain9.gov,Deleted,(blank),(blank),Federal,Armed Forces Retirement Home,,,, ,,(blank),,\n" | ||
"zdomain12.gov,Ready,2024-04-02,(blank),Interstate,,,,, ,,(blank),[email protected],\n" | ||
) | ||
|
||
# Normalize line endings and remove commas, | ||
# spaces and leading/trailing whitespace | ||
csv_content = csv_content.replace(",,", "").replace(",", "").replace(" ", "").replace("\r\n", "\n").strip() | ||
expected_content = expected_content.replace(",,", "").replace(",", "").replace(" ", "").strip() | ||
self.maxDiff = None | ||
self.assertEqual(csv_content, expected_content) | ||
|
||
@less_console_noise_decorator | ||
|
@@ -312,20 +315,17 @@ def test_domain_data_type_user(self): | |
# We expect only domains associated with the user | ||
expected_content = ( | ||
"Domain name,Status,First ready on,Expiration date,Domain type,Agency,Organization name," | ||
"City,State,SO,SO email," | ||
"Security contact email,Domain managers,Invited domain managers\n" | ||
"defaultsecurity.gov,Ready,2023-11-01,(blank),Federal - Executive,World War I Centennial Commission,,,, ,," | ||
'(blank),"[email protected], [email protected], [email protected]",' | ||
"[email protected]\n" | ||
"adomain2.gov,Dns needed,(blank),(blank),Interstate,,,,, ,,(blank)," | ||
"City,State,SO,SO email,Security contact email,Domain managers,Invited domain managers\n" | ||
"adomain2.gov,Dns needed,(blank),(blank),Federal - Executive,Portfolio 1 Federal Agency,,,, ,,(blank)," | ||
'"[email protected], [email protected]",[email protected]\n' | ||
"defaultsecurity.gov,Ready,2023-11-01,(blank),Federal - Executive,Portfolio 1 Federal Agency,,,, ,,(blank)," | ||
'"[email protected], [email protected], [email protected]",[email protected]\n' | ||
) | ||
|
||
# Normalize line endings and remove commas, | ||
# spaces and leading/trailing whitespace | ||
csv_content = csv_content.replace(",,", "").replace(",", "").replace(" ", "").replace("\r\n", "\n").strip() | ||
expected_content = expected_content.replace(",,", "").replace(",", "").replace(" ", "").strip() | ||
self.maxDiff = None | ||
self.assertEqual(csv_content, expected_content) | ||
|
||
@less_console_noise_decorator | ||
|
@@ -493,17 +493,17 @@ def test_domain_data_full(self): | |
# sorted alphabetially by domain name | ||
expected_content = ( | ||
"Domain name,Domain type,Agency,Organization name,City,State,Security contact email\n" | ||
"cdomain11.gov,Federal - Executive,World War I Centennial Commission,,,,(blank)\n" | ||
"defaultsecurity.gov,Federal - Executive,World War I Centennial Commission,,,,(blank)\n" | ||
"adomain10.gov,Federal,Armed Forces Retirement Home,,,,(blank)\n" | ||
"ddomain3.gov,Federal,Armed Forces Retirement Home,,,,[email protected]\n" | ||
"defaultsecurity.gov,Federal - Executive,Portfolio1FederalAgency,,,,(blank)\n" | ||
"cdomain11.gov,Federal - Executive,WorldWarICentennialCommission,,,,(blank)\n" | ||
"adomain10.gov,Federal,ArmedForcesRetirementHome,,,,(blank)\n" | ||
"ddomain3.gov,Federal,ArmedForcesRetirementHome,,,,[email protected]\n" | ||
"zdomain12.gov,Interstate,,,,,(blank)\n" | ||
) | ||
|
||
# Normalize line endings and remove commas, | ||
# spaces and leading/trailing whitespace | ||
csv_content = csv_content.replace(",,", "").replace(",", "").replace(" ", "").replace("\r\n", "\n").strip() | ||
expected_content = expected_content.replace(",,", "").replace(",", "").replace(" ", "").strip() | ||
self.maxDiff = None | ||
self.assertEqual(csv_content, expected_content) | ||
|
||
@less_console_noise_decorator | ||
|
@@ -533,16 +533,16 @@ def test_domain_data_federal(self): | |
# sorted alphabetially by domain name | ||
expected_content = ( | ||
"Domain name,Domain type,Agency,Organization name,City,State,Security contact email\n" | ||
"cdomain11.gov,Federal - Executive,World War I Centennial Commission,,,,(blank)\n" | ||
"defaultsecurity.gov,Federal - Executive,World War I Centennial Commission,,,,(blank)\n" | ||
"adomain10.gov,Federal,Armed Forces Retirement Home,,,,(blank)\n" | ||
"ddomain3.gov,Federal,Armed Forces Retirement Home,,,,[email protected]\n" | ||
"defaultsecurity.gov,Federal - Executive,Portfolio1FederalAgency,,,,(blank)\n" | ||
"cdomain11.gov,Federal - Executive,WorldWarICentennialCommission,,,,(blank)\n" | ||
"adomain10.gov,Federal,ArmedForcesRetirementHome,,,,(blank)\n" | ||
"ddomain3.gov,Federal,ArmedForcesRetirementHome,,,,[email protected]\n" | ||
) | ||
|
||
# Normalize line endings and remove commas, | ||
# spaces and leading/trailing whitespace | ||
csv_content = csv_content.replace(",,", "").replace(",", "").replace(" ", "").replace("\r\n", "\n").strip() | ||
expected_content = expected_content.replace(",,", "").replace(",", "").replace(" ", "").strip() | ||
self.maxDiff = None | ||
self.assertEqual(csv_content, expected_content) | ||
|
||
@less_console_noise_decorator | ||
|
@@ -587,13 +587,13 @@ def test_domain_growth(self): | |
expected_content = ( | ||
"Domain name,Domain type,Agency,Organization name,City," | ||
"State,Status,Expiration date, Deleted\n" | ||
"cdomain1.gov,Federal-Executive,World War I Centennial Commission,,,,Ready,(blank)\n" | ||
"adomain10.gov,Federal,Armed Forces Retirement Home,,,,Ready,(blank)\n" | ||
"cdomain11.govFederal-ExecutiveWorldWarICentennialCommissionReady(blank)\n" | ||
"zdomain12.govInterstateReady(blank)\n" | ||
"cdomain1.gov,Federal-Executive,Portfolio1FederalAgency,Ready,(blank)\n" | ||
"adomain10.gov,Federal,ArmedForcesRetirementHome,Ready,(blank)\n" | ||
"cdomain11.gov,Federal-Executive,WorldWarICentennialCommission,Ready,(blank)\n" | ||
"zdomain12.gov,Interstate,Ready,(blank)\n" | ||
"zdomain9.gov,Federal,ArmedForcesRetirementHome,Deleted,(blank),2024-04-01\n" | ||
"sdomain8.gov,Federal,Armed Forces Retirement Home,,,,Deleted,(blank),2024-04-02\n" | ||
"xdomain7.gov,FederalArmedForcesRetirementHome,Deleted,(blank),2024-04-02\n" | ||
"sdomain8.gov,Federal,ArmedForcesRetirementHome,Deleted,(blank),2024-04-02\n" | ||
"xdomain7.gov,Federal,ArmedForcesRetirementHome,Deleted,(blank),2024-04-02\n" | ||
) | ||
# Normalize line endings and remove commas, | ||
# spaces and leading/trailing whitespace | ||
|
@@ -611,7 +611,6 @@ def test_domain_managed(self): | |
[email protected] is invited to domain2 (DNS_NEEDED) and domain10 (No managers). | ||
She should show twice in this report but not in test_DomainManaged.""" | ||
self.maxDiff = None | ||
# Create a CSV file in memory | ||
csv_file = StringIO() | ||
# Call the export functions | ||
|
@@ -646,7 +645,6 @@ def test_domain_managed(self): | |
# spaces and leading/trailing whitespace | ||
csv_content = csv_content.replace(",,", "").replace(",", "").replace(" ", "").replace("\r\n", "\n").strip() | ||
expected_content = expected_content.replace(",,", "").replace(",", "").replace(" ", "").strip() | ||
self.maxDiff = None | ||
self.assertEqual(csv_content, expected_content) | ||
|
||
@less_console_noise_decorator | ||
|
@@ -683,7 +681,6 @@ def test_domain_unmanaged(self): | |
# spaces and leading/trailing whitespace | ||
csv_content = csv_content.replace(",,", "").replace(",", "").replace(" ", "").replace("\r\n", "\n").strip() | ||
expected_content = expected_content.replace(",,", "").replace(",", "").replace(" ", "").strip() | ||
|
||
self.assertEqual(csv_content, expected_content) | ||
|
||
@less_console_noise_decorator | ||
|
@@ -721,10 +718,9 @@ def test_domain_request_growth(self): | |
# spaces and leading/trailing whitespace | ||
csv_content = csv_content.replace(",,", "").replace(",", "").replace(" ", "").replace("\r\n", "\n").strip() | ||
expected_content = expected_content.replace(",,", "").replace(",", "").replace(" ", "").strip() | ||
|
||
self.assertEqual(csv_content, expected_content) | ||
|
||
@less_console_noise_decorator | ||
# @less_console_noise_decorator | ||
def test_domain_request_data_full(self): | ||
"""Tests the full domain request report.""" | ||
# Remove "Submitted at" because we can't guess this immutable, dynamically generated test data | ||
|
@@ -766,35 +762,34 @@ def test_domain_request_data_full(self): | |
csv_file.seek(0) | ||
# Read the content into a variable | ||
csv_content = csv_file.read() | ||
|
||
expected_content = ( | ||
# Header | ||
"Domain request,Status,Domain type,Federal type," | ||
"Federal agency,Organization name,Election office,City,State/territory," | ||
"Region,Creator first name,Creator last name,Creator email,Creator approved domains count," | ||
"Creator active requests count,Alternative domains,SO first name,SO last name,SO email," | ||
"SO title/role,Request purpose,Request additional details,Other contacts," | ||
"Domain request,Status,Domain type,Federal type,Federal agency,Organization name,Election office," | ||
"City,State/territory,Region,Creator first name,Creator last name,Creator email," | ||
"Creator approved domains count,Creator active requests count,Alternative domains,SO first name," | ||
"SO last name,SO email,SO title/role,Request purpose,Request additional details,Other contacts," | ||
"CISA regional representative,Current websites,Investigator\n" | ||
# Content | ||
"city5.gov,,Approved,Federal,Executive,,Testorg,N/A,,NY,2,,,,1,0,city1.gov,Testy,Tester,[email protected]," | ||
"Chief Tester,Purpose of the site,There is more,Testy Tester [email protected],,city.com,\n" | ||
"city2.gov,,In review,Federal,Executive,,Testorg,N/A,,NY,2,,,,0,1,city1.gov,Testy,Tester," | ||
"[email protected]," | ||
"city5.gov,Approved,Federal,Executive,,Testorg,N/A,,NY,2,,,,1,0,city1.gov,Testy,Tester,[email protected]," | ||
"Chief Tester,Purpose of the site,There is more,Testy Tester [email protected],,city.com,\n" | ||
'city3.gov,Submitted,Federal,Executive,,Testorg,N/A,,NY,2,,,,0,1,"cheeseville.gov, city1.gov,' | ||
'igorville.gov",Testy,Tester,[email protected],Chief Tester,Purpose of the site,CISA-first-name ' | ||
"CISA-last-name " | ||
'| There is more,"Meow Tester24 [email protected], Testy1232 Tester24 [email protected], Testy Tester ' | ||
'[email protected]"' | ||
',[email protected],"city.com, https://www.example2.com, https://www.example.com",\n' | ||
"city4.gov,Submitted,City,Executive,,Testorg,Yes,,NY,2,,,,0,1,city1.gov,Testy,Tester,[email protected]," | ||
"Chief Tester,Purpose of the site,CISA-first-name CISA-last-name | There is more,Testy Tester " | ||
"[email protected]" | ||
",[email protected],city.com,\n" | ||
"city6.gov,Submitted,Federal,Executive,,Testorg,N/A,,NY,2,,,,0,1,city1.gov,Testy,Tester,[email protected]," | ||
"Chief Tester,Purpose of the site,CISA-first-name CISA-last-name | There is more,Testy Tester " | ||
"[email protected]," | ||
"city2.gov,In review,Federal,Executive,Portfolio 1 Federal Agency,,N/A,,,2,,,,0,1,city1.gov,,,,," | ||
"Purpose of the site,There is more,Testy Tester [email protected],,city.com,\n" | ||
"city3.gov,Submitted,Federal,Executive,Portfolio 1 Federal Agency,,N/A,,,2,,,,0,1," | ||
'"cheeseville.gov, city1.gov, igorville.gov",,,,,Purpose of the site,CISA-first-name CISA-last-name | ' | ||
'There is more,"Meow Tester24 [email protected], Testy1232 Tester24 [email protected], ' | ||
'Testy Tester [email protected]",' | ||
'[email protected],"city.com, https://www.example2.com, https://www.example.com",\n' | ||
"city4.gov,Submitted,City,Executive,,Testorg,Yes,,NY,2,,,,0,1,city1.gov,Testy," | ||
"Tester,[email protected]," | ||
"Chief Tester,Purpose of the site,CISA-first-name CISA-last-name | There is more," | ||
"Testy Tester [email protected]," | ||
"[email protected],city.com,\n" | ||
"city6.gov,Submitted,Federal,Executive,Portfolio 1 Federal Agency,,N/A,,,2,,,,0,1,city1.gov,,,,," | ||
"Purpose of the site,CISA-first-name CISA-last-name | There is more,Testy Tester [email protected]," | ||
"[email protected],city.com,\n" | ||
) | ||
|
||
# Normalize line endings and remove commas, | ||
# spaces and leading/trailing whitespace | ||
csv_content = csv_content.replace(",,", "").replace(",", "").replace(" ", "").replace("\r\n", "\n").strip() | ||
|
@@ -862,7 +857,6 @@ def test_member_export(self): | |
# Create a request and add the user to the request | ||
request = self.factory.get("/") | ||
request.user = self.user | ||
self.maxDiff = None | ||
# Add portfolio to session | ||
request = GenericTestHelper._mock_user_request_for_factory(request) | ||
request.session["portfolio"] = self.portfolio_1 | ||
|