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
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
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
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)