def test_clean_config_for_write_with_accounts(self): accounts = [{ 'name': 'Account 1', 'appid': 'ABC123' }, { 'name': 'Account 2', 'appid': 'XYZ890' }] config_in = { 'name': 'foo', 'appid': 'foo', 'argv': 'foo', 'writepath': 'foo', 'config': 'foo', 'debug': 'foo', 'oktapreview': 'foo', 'accounts': accounts, 'shouldstillbehere': 'woohoo', 'password_reset': True, 'command': None, 'update': None } config_out = {'accounts': accounts, 'shouldstillbehere': 'woohoo'} ret = Config.clean_config_for_write(config_in) self.assertEqual(ret, config_out)
def test_clean_config_for_write_with_accounts(self): accounts = [ {"name": "Account 1", "appid": "ABC123"}, {"name": "Account 2", "appid": "XYZ890"}, ] config_in = { "name": "foo", "appid": "foo", "argv": "foo", "writepath": "foo", "config": "foo", "debug": "foo", "oktapreview": "foo", "accounts": accounts, "shouldstillbehere": "woohoo", "password_reset": True, "command": None, "update": None, } config_out = { "accounts": accounts, "shouldstillbehere": "woohoo", } ret = Config.clean_config_for_write(config_in) self.assertEqual(ret, config_out)
def test_write_config_path_create_when_missing(self, os_mock): config = Config(['aws_okta_keyman.py']) config.clean_config_for_write = mock.MagicMock() config.clean_config_for_write.return_value = {} config.read_yaml = mock.MagicMock() config.read_yaml.return_value = {} folderpath = '/home/user/.config/' os_mock.path.dirname.return_value = folderpath os_mock.path.exists.return_value = False m = mock.mock_open() with mock.patch('aws_okta_keyman.config.open', m): config.write_config() os_mock.assert_has_calls([mock.call.makedirs(folderpath)])
def test_clean_config_for_write(self): config_in = { 'name': 'foo', 'appid': 'foo', 'argv': 'foo', 'writepath': 'foo', 'config': 'foo', 'debug': 'foo', 'oktapreview': 'foo', 'accounts': None, 'shouldstillbehere': 'woohoo' } config_out = {'shouldstillbehere': 'woohoo'} ret = Config.clean_config_for_write(config_in) self.assertEqual(ret, config_out)
def test_write_config_path_expansion(self): config = Config(['aws_okta_keyman.py']) config.clean_config_for_write = mock.MagicMock() config.clean_config_for_write.return_value = {} config.writepath = '~/.config/aws_okta_keyman.yml' config.username = '******' config.appid = 'app/id' config.org = 'example' config.read_yaml = mock.MagicMock() config.read_yaml.return_value = {} expected_path = os.path.expanduser(config.writepath) m = mock.mock_open() with mock.patch('aws_okta_keyman.config.open', m): config.write_config() m.assert_has_calls([mock.call(expected_path, 'w')])
def test_write_config_path_expansion(self): config = Config(["aws_okta_keyman.py"]) config.clean_config_for_write = mock.MagicMock() config.clean_config_for_write.return_value = {} config.writepath = "~/.config/aws_okta_keyman.yml" config.username = "******" config.appid = "app/id" config.org = "example" config.read_yaml = mock.MagicMock() config.read_yaml.return_value = {} expected_path = os.path.expanduser(config.writepath) m = mock.mock_open() with mock.patch("aws_okta_keyman.config.open", m): config.write_config() m.assert_has_calls([mock.call(expected_path, "w")])
def test_write_config_new_file(self): config = Config(["aws_okta_keyman.py"]) config.clean_config_for_write = mock.MagicMock() config_clean = { "org": "example", "reup": None, "username": "******", } config.clean_config_for_write.return_value = config_clean config.writepath = "./.config/aws_okta_keyman.yml" config.username = "******" config.appid = "app/id" config.org = "example" config.read_yaml = mock.MagicMock() config.read_yaml.return_value = {} m = mock.mock_open() with mock.patch("aws_okta_keyman.config.open", m): config.write_config() m.assert_has_calls( [ mock.call().write("org"), mock.call().write(":"), mock.call().write(" "), mock.call().write("example"), mock.call().write("\n"), mock.call().write("reup"), mock.call().write(":"), mock.call().write(" "), mock.call().write("null"), mock.call().write("\n"), mock.call().write("username"), mock.call().write(":"), mock.call().write(" "), mock.call().write("*****@*****.**"), mock.call().write("\n"), mock.call().flush(), mock.call().flush(), mock.call().__exit__(None, None, None), ], )
def test_clean_config_for_write(self): config_in = { "name": "foo", "appid": "foo", "argv": "foo", "writepath": "foo", "config": "foo", "debug": "foo", "oktapreview": "foo", "accounts": None, "shouldstillbehere": "woohoo", "password_reset": True, "command": None, "update": None, } config_out = { "shouldstillbehere": "woohoo", } ret = Config.clean_config_for_write(config_in) self.assertEqual(ret, config_out)
def test_write_config_new_file(self): config = Config(['aws_okta_keyman.py']) config.clean_config_for_write = mock.MagicMock() config_clean = { 'org': 'example', 'reup': None, 'username': '******', } config.clean_config_for_write.return_value = config_clean config.writepath = './.config/aws_okta_keyman.yml' config.username = '******' config.appid = 'app/id' config.org = 'example' config.read_yaml = mock.MagicMock() config.read_yaml.return_value = {} m = mock.mock_open() with mock.patch('aws_okta_keyman.config.open', m): config.write_config() m.assert_has_calls([ mock.call().write('org'), mock.call().write(':'), mock.call().write(' '), mock.call().write('example'), mock.call().write('\n'), mock.call().write('reup'), mock.call().write(':'), mock.call().write(' '), mock.call().write('null'), mock.call().write('\n'), mock.call().write('username'), mock.call().write(':'), mock.call().write(' '), mock.call().write('*****@*****.**'), mock.call().write('\n'), mock.call().flush(), mock.call().flush(), mock.call().__exit__(None, None, None) ])
def test_write_config(self): config = Config(['aws_okta_keyman.py']) config.clean_config_for_write = mock.MagicMock() config_clean = { 'accounts': [{ 'name': 'Dev', 'appid': 'A123/123' }], 'org': 'example', 'reup': None, 'username': '******', } config.clean_config_for_write.return_value = config_clean config.writepath = './.config/aws_okta_keyman.yml' config.username = '******' config.read_yaml = mock.MagicMock() config.read_yaml.return_value = { 'username': '******', 'org': 'example', 'appid': 'app/id', } m = mock.mock_open() with mock.patch('aws_okta_keyman.config.open', m): config.write_config() m.assert_has_calls([ mock.call(u'./.config/aws_okta_keyman.yml', 'w'), ]) m.assert_has_calls([ mock.call().write('accounts'), mock.call().write(':'), mock.call().write('\n'), mock.call().write('-'), mock.call().write(' '), mock.call().write('appid'), mock.call().write(':'), mock.call().write(' '), mock.call().write('A123/123'), mock.call().write('\n'), mock.call().write(' '), mock.call().write('name'), mock.call().write(':'), mock.call().write(' '), mock.call().write('Dev'), mock.call().write('\n'), mock.call().write('org'), mock.call().write(':'), mock.call().write(' '), mock.call().write('example'), mock.call().write('\n'), mock.call().write('reup'), mock.call().write(':'), mock.call().write(' '), mock.call().write('null'), mock.call().write('\n'), mock.call().write('username'), mock.call().write(':'), mock.call().write(' '), mock.call().write('*****@*****.**'), mock.call().write('\n'), mock.call().flush(), mock.call().flush(), mock.call().__exit__(None, None, None) ])
def test_write_config(self): config = Config(["aws_okta_keyman.py"]) config.clean_config_for_write = mock.MagicMock() config_clean = { "accounts": [{"name": "Dev", "appid": "A123/123"}], "org": "example", "reup": None, "username": "******", } config.clean_config_for_write.return_value = config_clean config.writepath = "./.config/aws_okta_keyman.yml" config.username = "******" config.read_yaml = mock.MagicMock() config.read_yaml.return_value = { "username": "******", "org": "example", "appid": "app/id", } m = mock.mock_open() with mock.patch("aws_okta_keyman.config.open", m): config.write_config() m.assert_has_calls( [ mock.call("./.config/aws_okta_keyman.yml", "w"), ], ) m.assert_has_calls( [ mock.call().write("accounts"), mock.call().write(":"), mock.call().write("\n"), mock.call().write("-"), mock.call().write(" "), mock.call().write("appid"), mock.call().write(":"), mock.call().write(" "), mock.call().write("A123/123"), mock.call().write("\n"), mock.call().write(" "), mock.call().write("name"), mock.call().write(":"), mock.call().write(" "), mock.call().write("Dev"), mock.call().write("\n"), mock.call().write("org"), mock.call().write(":"), mock.call().write(" "), mock.call().write("example"), mock.call().write("\n"), mock.call().write("reup"), mock.call().write(":"), mock.call().write(" "), mock.call().write("null"), mock.call().write("\n"), mock.call().write("username"), mock.call().write(":"), mock.call().write(" "), mock.call().write("*****@*****.**"), mock.call().write("\n"), mock.call().flush(), mock.call().flush(), mock.call().__exit__(None, None, None), ], )