コード例 #1
0
    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')
コード例 #2
0
    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()])
コード例 #3
0
    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()])
コード例 #4
0
    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")