def test_handle_duo_factor_selection(self, _config_mock): keyman = Keyman(['foo', '-o', 'foo', '-u', 'bar']) keyman.config.accounts = [{'name': 'myAccount', 'appid': 'myID'}] keyman.config.appid = None keyman.selector_menu = mock.MagicMock(name='selector_menu') keyman.selector_menu.return_value = 0 keyman.config.set_appid_from_account_id = mock.MagicMock() ret = keyman.handle_duo_factor_selection() keyman.selector_menu.assert_has_calls([ mock.call([{ 'name': '๐ฒ Duo Push', 'factor': 'push' }, { 'name': '๐ OTP Passcode', 'factor': 'passcode' }, { 'name': '๐ Phone call', 'factor': 'call' }], [{ 'name': 'Duo Factor' }]) ]) self.assertEqual(ret, 'push')
def test_auth_okta_duo_mfa_no_factor(self, _config_mock): keyman = Keyman(['foo', '-o', 'foo', '-u', 'bar', '-a', 'baz']) keyman.okta_client = mock.MagicMock() keyman.handle_duo_factor_selection = mock.MagicMock() keyman.okta_client.auth.side_effect = [duo.FactorRequired('a', 'b'), True] keyman.okta_client.duo_auth.side_effect = [False, True] keyman.user_input = mock.MagicMock() keyman.auth_okta() keyman.handle_duo_factor_selection.assert_has_calls([mock.call()])
def test_auth_okta_duo_mfa_no_factor(self, _config_mock): keyman = Keyman(["foo", "-o", "foo", "-u", "bar", "-a", "baz"]) keyman.okta_client = mock.MagicMock() keyman.handle_duo_factor_selection = mock.MagicMock() keyman.okta_client.auth.side_effect = [ duo.FactorRequired("a", "b"), True, ] keyman.okta_client.duo_auth.side_effect = [False, True] keyman.user_input = mock.MagicMock() keyman.auth_okta() keyman.handle_duo_factor_selection.assert_has_calls([mock.call()])
def test_handle_duo_factor_selection(self, _config_mock): keyman = Keyman(["foo", "-o", "foo", "-u", "bar"]) keyman.config.accounts = [{"name": "myAccount", "appid": "myID"}] keyman.config.appid = None keyman.selector_menu = mock.MagicMock(name="selector_menu") keyman.selector_menu.return_value = 0 keyman.config.set_appid_from_account_id = mock.MagicMock() ret = keyman.handle_duo_factor_selection() keyman.selector_menu.assert_has_calls( [ mock.call( [ {"name": "๐ฒ Duo Push", "factor": "push"}, {"name": "๐ OTP Passcode", "factor": "passcode"}, {"name": "๐ Phone call", "factor": "call"}, ], [{"name": "Duo Factor"}], ), ], ) self.assertEqual(ret, "push")