예제 #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_has_auth(self):

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

        # With valid credentials, dataverse is authorized
        dataverse.dataverse_username = '******'
        dataverse.dataverse_password = '******'
        assert_true(dataverse.has_auth)
예제 #6
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.dataverse_username = '******'
        dataverse.dataverse_password = '******'
        assert_true(dataverse.has_auth)
 def test_get_targets(self):
     AddonDataverseUserSettings.remove()
     addons = [
         AddonDataverseUserSettings(),
         AddonDataverseUserSettings(api_token='api-token-1234'),
     ]
     for addon in addons:
         addon.save()
     targets = get_targets()
     assert_equal(targets.count(), 1)
     assert_equal(targets[0]._id, addons[-1]._id)
예제 #8
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)
예제 #9
0
    def test_connect_from_settings(self, mock_connect):
        user_settings = AddonDataverseUserSettings()
        user_settings.dataverse_username = '******'
        user_settings.dataverse_password = '******'

        connection = connect_from_settings(None)
        assert_is_none(connection)

        connection = connect_from_settings(user_settings)
        assert_true(connection)
        mock_connect.assert_called_once_with(
            user_settings.dataverse_username,
            user_settings.dataverse_password,
        )
예제 #10
0
    def test_connect_from_settings_or_403_forbidden(self, mock_dvn_connection):
        mock_obj = mock.create_autospec(Connection)
        mock_obj.connected = False
        mock_obj.status = 403
        mock_dvn_connection.return_value = mock_obj

        user_settings = AddonDataverseUserSettings()
        user_settings.dataverse_username = '******'
        user_settings.dataverse_password = '******'

        with assert_raises(HTTPError) as cm:
            connect_from_settings_or_403(user_settings)

        mock_dvn_connection.assert_called_once_with(
            username=user_settings.dataverse_username,
            password=user_settings.dataverse_password,
            host=settings.HOST,
            disable_ssl=not settings.VERIFY_SSL,
        )

        assert_equal(cm.exception.code, 403)
예제 #11
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.dataverse_username = '******'
        user_settings.dataverse_password = '******'
        user_settings.save()
        assert_true(node_settings.has_auth)
예제 #12
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)
예제 #13
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.dataverse_username = '******'
        user_settings.dataverse_password = '******'
        user_settings.save()
        assert_true(node_settings.has_auth)
예제 #14
0
def get_targets():
    return AddonDataverseUserSettings.find(
        Q('api_token', 'ne', None)
    )
예제 #15
0
def get_targets():
    return AddonDataverseUserSettings.find(Q('api_token', 'ne', None))