예제 #1
0
    def test_connect_from_settings_or_401(self, mock_connect):
        user_settings = AddonDataverseUserSettings()
        user_settings.api_token = "Something ridiculous"

        connection = connect_from_settings_or_401(user_settings)
        assert_true(connection)
        mock_connect.assert_called_once_with(user_settings.api_token)
예제 #2
0
    def test_connect_from_settings_or_401(self, mock_connect):
        user_settings = AddonDataverseUserSettings()
        user_settings.api_token = 'Something ridiculous'

        connection = connect_from_settings_or_401(user_settings)
        assert_true(connection)
        mock_connect.assert_called_once_with(user_settings.api_token)
예제 #3
0
    def test_has_auth(self):

        # Dataverse has no auth by default
        dataverse = AddonDataverseUserSettings()
        assert_false(dataverse.has_auth)

        # With valid credentials, dataverse is authorized
        dataverse.api_token = 'snowman-frosty'
        assert_true(dataverse.has_auth)
예제 #4
0
    def test_connect_from_settings_or_401_forbidden(self, mock_connection):
        mock_connection.side_effect = UnauthorizedError()
        user_settings = AddonDataverseUserSettings()
        user_settings.api_token = "Something ridiculous"

        with assert_raises(HTTPError) as e:
            connect_from_settings_or_401(user_settings)

        mock_connection.assert_called_once_with(settings.HOST, user_settings.api_token)
        assert_equal(e.exception.code, 401)
예제 #5
0
    def test_connect_from_settings_or_401_forbidden(self, mock_connection):
        mock_connection.side_effect = UnauthorizedError()
        user_settings = AddonDataverseUserSettings()
        user_settings.api_token = 'Something ridiculous'

        with assert_raises(HTTPError) as e:
            connect_from_settings_or_401(user_settings)

        mock_connection.assert_called_once_with(
            settings.HOST,
            user_settings.api_token,
        )
        assert_equal(e.exception.code, 401)
예제 #6
0
    def test_has_auth(self):
        node_settings = AddonDataverseNodeSettings()
        node_settings.save()
        assert_false(node_settings.has_auth)

        user_settings = AddonDataverseUserSettings()
        user_settings.save()
        node_settings.user_settings = user_settings
        node_settings.save()
        assert_false(node_settings.has_auth)

        user_settings.api_token = 'foo-bar'
        user_settings.save()
        assert_true(node_settings.has_auth)