def test_clear_by_name_err(self): """Testing the clear credential command successfully with stubbed data. When specifying a name with an error response """ cred_out = StringIO() get_url = get_server_location() + CREDENTIAL_URI + '?name=credential1' delete_url = get_server_location() + CREDENTIAL_URI + '1/' credential_entry = { 'id': 1, 'name': 'credential1', 'username': '******', 'password': '******' } results = [credential_entry] data = {'count': 1, 'results': results} err_data = {'error': ['Server Error']} with requests_mock.Mocker() as mocker: mocker.get(get_url, status_code=200, json=data) mocker.delete(delete_url, status_code=500, json=err_data) ccc = CredClearCommand(SUBPARSER) args = Namespace(name='credential1') with self.assertRaises(SystemExit): with redirect_stdout(cred_out): ccc.main(args)
def test_clear_all(self): """Testing the clear credential command successfully with stubbed data. With a list of credentials. """ cred_out = StringIO() get_url = get_server_location() + CREDENTIAL_URI delete_url = get_server_location() + CREDENTIAL_URI + '1/' credential_entry = { 'id': 1, 'name': 'credential1', 'username': '******', 'password': '******' } results = [credential_entry] data = {'count': 1, 'results': results} with requests_mock.Mocker() as mocker: mocker.get(get_url, status_code=200, json=data) mocker.delete(delete_url, status_code=204) ccc = CredClearCommand(SUBPARSER) args = Namespace(name=None) with redirect_stdout(cred_out): ccc.main(args) expected = messages.CRED_CLEAR_ALL_SUCCESS + '\n' self.assertEqual(cred_out.getvalue(), expected)
def test_clear_all_with_error(self): """Testing the clear credential command successfully with stubbed data. With a list of credentials with delete error. """ cred_out = StringIO() get_url = BASE_URL + CREDENTIAL_URI delete_url = BASE_URL + CREDENTIAL_URI + '1/' credential_entry = { 'id': 1, 'name': 'credential1', 'username': '******', 'password': '******' } data = [credential_entry] err_data = {'error': ['Server Error']} with requests_mock.Mocker() as mocker: mocker.get(get_url, status_code=200, json=data) mocker.delete(delete_url, status_code=500, json=err_data) acc = CredClearCommand(SUBPARSER) args = Namespace(name=None) with self.assertRaises(SystemExit): with redirect_stdout(cred_out): acc.main(args) expected = 'Some credentials were removed, however and' \ ' error occurred removing the following' \ ' credentials:' self.assertTrue(expected in cred_out.getvalue())
def test_clear_by_name_err(self): """Testing the clear credential command successfully with stubbed data. When specifying a name with an error response """ cred_out = StringIO() get_url = BASE_URL + CREDENTIAL_URI + '?name=credential1' delete_url = BASE_URL + CREDENTIAL_URI + '1/' credential_entry = { 'id': 1, 'name': 'credential1', 'username': '******', 'password': '******' } data = [credential_entry] err_data = {'error': ['Server Error']} with requests_mock.Mocker() as mocker: mocker.get(get_url, status_code=200, json=data) mocker.delete(delete_url, status_code=500, json=err_data) acc = CredClearCommand(SUBPARSER) args = Namespace(name='credential1') with self.assertRaises(SystemExit): with redirect_stdout(cred_out): acc.main(args) expected = 'Failed to remove credential "credential1"' self.assertTrue(expected in cred_out.getvalue())
def test_clear_cred_empty(self): """Testing the clear credential command with empty data.""" cred_out = StringIO() url = get_server_location() + CREDENTIAL_URI + '?name=cred1' with requests_mock.Mocker() as mocker: mocker.get(url, status_code=200, json={'count': 0}) ccc = CredClearCommand(SUBPARSER) args = Namespace(name='cred1') with self.assertRaises(SystemExit): with redirect_stdout(cred_out): ccc.main(args)
def test_clear_cred_internal_err(self): """Testing the clear credential command with an internal error.""" cred_out = StringIO() url = get_server_location() + CREDENTIAL_URI + '?name=credential1' with requests_mock.Mocker() as mocker: mocker.get(url, status_code=500, json={'error': ['Server Error']}) ccc = CredClearCommand(SUBPARSER) args = Namespace(name='credential1') with self.assertRaises(SystemExit): with redirect_stdout(cred_out): ccc.main(args)
def test_clear_cred_conn_err(self): """Testing the clear credential command with a connection error.""" cred_out = StringIO() url = get_server_location() + CREDENTIAL_URI + '?name=credential1' with requests_mock.Mocker() as mocker: mocker.get(url, exc=requests.exceptions.ConnectTimeout) ccc = CredClearCommand(SUBPARSER) args = Namespace(name='credential1') with self.assertRaises(SystemExit): with redirect_stdout(cred_out): ccc.main(args)
def test_clear_cred_conn_err(self): """Testing the clear credential command with a connection error.""" cred_out = StringIO() url = BASE_URL + CREDENTIAL_URI + '?name=credential1' with requests_mock.Mocker() as mocker: mocker.get(url, exc=requests.exceptions.ConnectTimeout) acc = CredClearCommand(SUBPARSER) args = Namespace(name='credential1') with self.assertRaises(SystemExit): with redirect_stdout(cred_out): acc.main(args) self.assertEqual(cred_out.getvalue(), CONNECTION_ERROR_MSG)
def test_clear_cred_empty(self): """Testing the clear credential command with empty data.""" cred_out = StringIO() url = BASE_URL + CREDENTIAL_URI + '?name=cred1' with requests_mock.Mocker() as mocker: mocker.get(url, status_code=200, json=[]) acc = CredClearCommand(SUBPARSER) args = Namespace(name='cred1') with self.assertRaises(SystemExit): with redirect_stdout(cred_out): acc.main(args) self.assertEqual(cred_out.getvalue(), 'credential "cred1" was not found\n')
def test_clear_all_empty(self): """Testing the clear credential command successfully with stubbed data. With empty list of credentials. """ cred_out = StringIO() get_url = get_server_location() + CREDENTIAL_URI with requests_mock.Mocker() as mocker: mocker.get(get_url, status_code=200, json={'count': 0}) ccc = CredClearCommand(SUBPARSER) args = Namespace(name=None) with self.assertRaises(SystemExit): with redirect_stdout(cred_out): ccc.main(args)
def test_clear_all_empty(self): """Testing the clear credential command successfully with stubbed data. With empty list of credentials. """ cred_out = StringIO() get_url = BASE_URL + CREDENTIAL_URI with requests_mock.Mocker() as mocker: mocker.get(get_url, status_code=200, json=[]) acc = CredClearCommand(SUBPARSER) args = Namespace(name=None) with self.assertRaises(SystemExit): with redirect_stdout(cred_out): acc.main(args) expected = 'No credentials exist to be removed\n' self.assertEqual(cred_out.getvalue(), expected)
def test_clear_by_name(self): """Testing the clear credential command with stubbed data.""" cred_out = StringIO() get_url = BASE_URL + CREDENTIAL_URI + '?name=credential1' delete_url = BASE_URL + CREDENTIAL_URI + '1/' credential_entry = { 'id': 1, 'name': 'credential1', 'username': '******', 'password': '******' } data = [credential_entry] with requests_mock.Mocker() as mocker: mocker.get(get_url, status_code=200, json=data) mocker.delete(delete_url, status_code=204) acc = CredClearCommand(SUBPARSER) args = Namespace(name='credential1') with redirect_stdout(cred_out): acc.main(args) expected = 'Credential "credential1" was removed\n' self.assertEqual(cred_out.getvalue(), expected)
def test_clear_by_name(self): """Testing the clear credential command with stubbed data.""" cred_out = StringIO() get_url = get_server_location() + CREDENTIAL_URI + '?name=credential1' delete_url = get_server_location() + CREDENTIAL_URI + '1/' credential_entry = { 'id': 1, 'name': 'credential1', 'username': '******', 'password': '******' } results = [credential_entry] data = {'count': 1, 'results': results} with requests_mock.Mocker() as mocker: mocker.get(get_url, status_code=200, json=data) mocker.delete(delete_url, status_code=204) acc = CredClearCommand(SUBPARSER) args = Namespace(name='credential1') with redirect_stdout(cred_out): acc.main(args) expected = messages.CRED_REMOVED % 'credential1' + '\n' self.assertEqual(cred_out.getvalue(), expected)
def test_clear_all_with_error(self): """Testing the clear credential command successfully with stubbed data. With a list of credentials with delete error. """ get_url = get_server_location() + CREDENTIAL_URI delete_url = get_server_location() + CREDENTIAL_URI + '1/' credential_entry = { 'id': 1, 'name': 'credential1', 'username': '******', 'password': '******' } results = [credential_entry] data = {'count': 1, 'results': results} err_data = {'error': ['Server Error']} with requests_mock.Mocker() as mocker: mocker.get(get_url, status_code=200, json=data) mocker.delete(delete_url, status_code=500, json=err_data) ccc = CredClearCommand(SUBPARSER) args = Namespace(name=None) with self.assertRaises(SystemExit): ccc.main(args)