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))
Exemple #2
0
    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))
Exemple #3
0
    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)
Exemple #10
0
    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)