def test_should_add_different_secret_refs_with_duplicate_name(self): container_name = 'test container name' container_type = 'generic' resp, container_uuid = create_container( self.app, name=container_name, container_type=container_type ) self._assert_successful_container_create(resp, container_uuid) container = containers_repo.get(container_uuid, self.project_id) self.assertEqual(0, len(container.container_secrets)) secret_name = 'test secret 1' resp, _ = secret_helper.create_secret( self.app, name=secret_name ) self.assertEqual(201, resp.status_int) first_secret_ref = resp.json.get('secret_ref') secret_name = 'test secret 2' resp, _ = secret_helper.create_secret( self.app, name=secret_name ) self.assertEqual(201, resp.status_int) second_secret_ref = resp.json.get('secret_ref') container_secret_name = 'test container secret name' resp, updated_container_uuid = create_container_secret( self.app, container_id=container_uuid, secret_ref=first_secret_ref, name=container_secret_name ) self._assert_successful_container_create(resp, container_uuid) container = containers_repo.get(container_uuid, self.project_id) self.assertEqual(1, len(container.container_secrets)) resp, updated_container_uuid = create_container_secret( self.app, container_id=container_uuid, secret_ref=second_secret_ref, name=container_secret_name ) self._assert_successful_container_create(resp, container_uuid) container = containers_repo.get(container_uuid, self.project_id) self.assertEqual(2, len(container.container_secrets))
def test_should_add_different_secret_refs_with_duplicate_name(self): container_name = 'test container name' container_type = 'generic' resp, container_uuid = create_container( self.app, name=container_name, container_type=container_type ) self._assert_successful_container_create(resp, container_uuid) container = containers_repo.get(container_uuid, self.project_id) self.assertEqual(0, len(container.container_secrets)) secret_name = 'test secret 1' resp, _ = secret_helper.create_secret( self.app, name=secret_name ) self.assertEqual(201, resp.status_int) first_secret_ref = resp.json.get('secret_ref') secret_name = 'test secret 2' resp, _ = secret_helper.create_secret( self.app, name=secret_name ) self.assertEqual(201, resp.status_int) second_secret_ref = resp.json.get('secret_ref') container_secret_name = 'test container secret name' resp, updated_container_uuid = create_container_secret( self.app, container_id=container_uuid, secret_ref=first_secret_ref, name=container_secret_name ) self._assert_successful_container_create(resp, container_uuid) container = containers_repo.get(container_uuid, self.project_id) self.assertEqual(1, len(container.container_secrets)) resp, updated_container_uuid = create_container_secret( self.app, container_id=container_uuid, secret_ref=second_secret_ref, name=container_secret_name ) self._assert_successful_container_create(resp, container_uuid) container = containers_repo.get(container_uuid, self.project_id) self.assertEqual(2, len(container.container_secrets))
def test_should_add_new_populated_container(self): secret_name = 'test secret 1' resp, _ = secret_helper.create_secret( self.app, name=secret_name ) self.assertEqual(201, resp.status_int) secret_ref = resp.json.get('secret_ref') container_name = 'test container name' container_type = 'generic' secret_refs = [ { 'name': secret_name, 'secret_ref': secret_ref } ] resp, container_uuid = create_container( self.app, name=container_name, container_type=container_type, secret_refs=secret_refs ) self._assert_successful_container_create(resp, container_uuid) container = containers_repo.get(container_uuid, self.project_id) self.assertEqual(container_name, container.name) self.assertEqual(container_type, container.type)
def test_should_not_delete_container_secret_with_incorrect_name(self): secret_name = 'test secret 1' resp, _ = secret_helper.create_secret(self.app, name=secret_name) self.assertEqual(201, resp.status_int) secret_ref = resp.json.get('secret_ref') container_name = 'test container name' container_type = 'generic' secret_refs = [{'name': secret_name, 'secret_ref': secret_ref}] resp, container_uuid = create_container(self.app, name=container_name, container_type=container_type, secret_refs=secret_refs) self._assert_successful_container_create(resp, container_uuid) container = containers_repo.get(container_uuid, self.project_id) self.assertEqual(1, len(container.container_secrets)) incorrect_name = 'test incorrect name' resp = delete_container_secret(self.app, container_uuid, secret_ref, incorrect_name, expect_errors=True) self.assertEqual(404, resp.status_int) container = containers_repo.get(container_uuid, self.project_id) self.assertEqual(1, len(container.container_secrets))
def test_should_not_allow_add_secret_when_exists_in_container(self): container_name = 'test container name' container_type = 'generic' resp, container_uuid = create_container(self.app, name=container_name, container_type=container_type) self._assert_successful_container_create(resp, container_uuid) secret_name = 'test secret 1' resp, _ = secret_helper.create_secret(self.app, name=secret_name) self.assertEqual(201, resp.status_int) secret_ref = resp.json.get('secret_ref') resp, updated_container_uuid = create_container_secret( self.app, container_id=container_uuid, secret_ref=secret_ref, name=secret_name) self._assert_successful_container_create(resp, container_uuid) resp, updated_container_uuid = create_container_secret( self.app, container_id=container_uuid, secret_ref=secret_ref, name=secret_name, expect_errors=True) self.assertEqual(409, resp.status_int)
def test_should_not_add_container_secret_with_invalid_name(self): container_name = 'test container name' container_type = 'generic' resp, container_uuid = create_container(self.app, name=container_name, container_type=container_type) self._assert_successful_container_create(resp, container_uuid) container = containers_repo.get(container_uuid, self.project_id) self.assertEqual(0, len(container.container_secrets)) secret_name = 'test secret 1' resp, _ = secret_helper.create_secret(self.app, name=secret_name) self.assertEqual(201, resp.status_int) secret_ref = resp.json.get('secret_ref') container_secret_name = "x" * 256 resp, updated_container_uuid = create_container_secret( self.app, container_id=container_uuid, secret_ref=secret_ref, name=container_secret_name, expect_errors=True) self.assertEqual(400, resp.status_int)
def test_should_not_delete_container_secret_with_incorrect_name(self): secret_name = 'test secret 1' resp, _ = secret_helper.create_secret( self.app, name=secret_name ) self.assertEqual(201, resp.status_int) secret_ref = resp.json.get('secret_ref') container_name = 'test container name' container_type = 'generic' secret_refs = [ { 'name': secret_name, 'secret_ref': secret_ref } ] resp, container_uuid = create_container( self.app, name=container_name, container_type=container_type, secret_refs=secret_refs ) self._assert_successful_container_create(resp, container_uuid) container = containers_repo.get(container_uuid, self.project_id) self.assertEqual(1, len(container.container_secrets)) incorrect_name = 'test incorrect name' resp = delete_container_secret(self.app, container_uuid, secret_ref, incorrect_name, expect_errors=True) self.assertEqual(404, resp.status_int) container = containers_repo.get(container_uuid, self.project_id) self.assertEqual(1, len(container.container_secrets))
def test_should_not_allow_add_secret_when_exists_in_container(self): container_name = 'test container name' container_type = 'generic' resp, container_uuid = create_container( self.app, name=container_name, container_type=container_type ) self._assert_successful_container_create(resp, container_uuid) secret_name = 'test secret 1' resp, _ = secret_helper.create_secret( self.app, name=secret_name ) self.assertEqual(201, resp.status_int) secret_ref = resp.json.get('secret_ref') resp, updated_container_uuid = create_container_secret( self.app, container_id=container_uuid, secret_ref=secret_ref, name=secret_name ) self._assert_successful_container_create(resp, container_uuid) resp, updated_container_uuid = create_container_secret( self.app, container_id=container_uuid, secret_ref=secret_ref, name=secret_name, expect_errors=True ) self.assertEqual(409, resp.status_int)
def test_should_not_add_container_secret_with_invalid_name(self): container_name = 'test container name' container_type = 'generic' resp, container_uuid = create_container( self.app, name=container_name, container_type=container_type ) self._assert_successful_container_create(resp, container_uuid) container = containers_repo.get(container_uuid, self.project_id) self.assertEqual(0, len(container.container_secrets)) secret_name = 'test secret 1' resp, _ = secret_helper.create_secret( self.app, name=secret_name ) self.assertEqual(201, resp.status_int) secret_ref = resp.json.get('secret_ref') container_secret_name = "x" * 256 resp, updated_container_uuid = create_container_secret( self.app, container_id=container_uuid, secret_ref=secret_ref, name=container_secret_name, expect_errors=True ) self.assertEqual(400, resp.status_int)
def test_should_add_container_secret_with_trailing_slash(self): resp, container_id = create_container( self.app, name='test container name', container_type='generic', ) self._assert_successful_container_create(resp, container_id) secret_name = 'test secret 1' resp, _ = secret_helper.create_secret( self.app, name=secret_name ) self.assertEqual(201, resp.status_int) request = { 'name': secret_name, 'secret_ref': resp.json.get('secret_ref') } resp = self.app.post_json( '/containers/{container_id}/secrets/'.format( container_id=container_id ), request, expect_errors=False, headers=None ) self.assertEqual(201, resp.status_int)
def test_should_delete_only_when_secret_exists_in_container(self): secret_name = 'test secret 1' resp, _ = secret_helper.create_secret(self.app, name=secret_name) self.assertEqual(201, resp.status_int) secret_ref = resp.json.get('secret_ref') container_name = 'test container name' container_type = 'generic' resp, container_uuid = create_container(self.app, name=container_name, container_type=container_type) self._assert_successful_container_create(resp, container_uuid) resp = delete_container_secret(self.app, container_uuid, secret_ref, secret_name, expect_errors=True) self.assertEqual(404, resp.status_int)
def test_should_delete_only_when_secret_exists_in_container(self): secret_name = 'test secret 1' resp, _ = secret_helper.create_secret( self.app, name=secret_name ) self.assertEqual(201, resp.status_int) secret_ref = resp.json.get('secret_ref') container_name = 'test container name' container_type = 'generic' resp, container_uuid = create_container( self.app, name=container_name, container_type=container_type ) self._assert_successful_container_create(resp, container_uuid) resp = delete_container_secret(self.app, container_uuid, secret_ref, secret_name, expect_errors=True) self.assertEqual(404, resp.status_int)