Example #1
0
def test_set_config_wrong_state(addon, fake_provider):
    """
    @type addon: api_server.models.Addon
    @type fake_provider: mock.Mock
    """
    addon.state = AddonState.waiting_for_provision
    addon.save()
    result = set_config.delay(addon.id)
    assert result.get() == addon.id
    addon.refresh_from_db()
    assert addon.state is AddonState.waiting_for_provision
Example #2
0
def test_set_config_no_config(addon, mock_backend_authenticated_client):
    """
    @type addon: api_server.models.Addon
    @type mock_backend_authenticated_client: mock.Mock
    """
    addon.state = AddonState.provisioned
    addon.config = None
    addon.save()
    with mock.patch('api_server.addons.tasks.get_backend_authenticated_client') as mocked:
        mocked.return_value = mock_backend_authenticated_client
        result = set_config.delay(addon.id)
    assert result.get() == addon.id
    addon.refresh_from_db()
    assert addon.state is AddonState.error_should_deprovision
Example #3
0
def test_set_config_no_backend(addon, mock_backend_authenticated_client):
    """
    @type addon: api_server.models.Addon
    @type mock_backend_authenticated_client: mock.Mock
    """
    addon.state = AddonState.provisioned
    addon.config = {
        'DATABASE_URL': 'fake://fake',
        'ENV_VAR1': 'var1',
    }
    addon.save()
    with mock.patch('api_server.addons.tasks.get_backend_authenticated_client') as mocked:
        mocked.side_effect = BackendsError
        result = set_config.delay(addon.id)
        mocked.assert_called_once_with(addon.user.username, addon.app.backend)
    assert result.get() == addon.id
    addon.refresh_from_db()
    assert addon.state is AddonState.error_should_deprovision
Example #4
0
def test_set_config_simple(addon, mock_backend_authenticated_client):
    """
    @type addon: api_server.models.Addon
    @type mock_backend_authenticated_client: mock.Mock
    """
    addon.state = AddonState.provisioned
    addon.config = {
        'DATABASE_URL': 'fake://fake',
        'ENV_VAR1': 'var1',
    }
    addon.save()
    with mock.patch('api_server.addons.tasks.get_backend_authenticated_client') as mocked:
        mocked.return_value = mock_backend_authenticated_client
        result = set_config.delay(addon.id)
        mocked.assert_called_once_with(addon.user.username, addon.app.backend)
    assert result.get() == addon.id
    addon.refresh_from_db()
    assert addon.state is AddonState.ready
    mock_backend_authenticated_client.set_application_env_variables.assert_called_once_with(
        addon.app.app_id, addon.config)