setAuthToken(AuthKeysFixture::ADMIN_API_KEY); $faker = \Faker\Factory::create(); $uuid = $faker->uuid; $this->post( self::ENDPOINT, [ 'uuid' => $uuid, 'type' => EncryptionKeysFixture::TYPE_PGP, 'encryption_key' => EncryptionKeysFixture::getPublicKey(EncryptionKeysFixture::KEY_TYPE_EDCH), 'revoked' => false, 'expires' => null, 'owner_id' => UsersFixture::USER_ADMIN_ID, 'owner_model' => 'User' ] ); $this->assertResponseOk(); $this->assertResponseContains(sprintf('"uuid": "%s"', $uuid)); $this->assertDbRecordExists('EncryptionKeys', ['uuid' => $uuid]); //TODO: $this->assertRequestMatchesOpenApiSpec(); $this->assertResponseMatchesOpenApiSpec(self::ENDPOINT, 'post'); } public function testAddAdminUserEncryptionKeyNotAllowedAsRegularUser(): void { $this->setAuthToken(AuthKeysFixture::REGULAR_USER_API_KEY); $faker = \Faker\Factory::create(); $uuid = $faker->uuid; $this->post( self::ENDPOINT, [ 'uuid' => $uuid, 'type' => EncryptionKeysFixture::TYPE_PGP, 'encryption_key' => EncryptionKeysFixture::getPublicKey(EncryptionKeysFixture::KEY_TYPE_EDCH), 'revoked' => false, 'expires' => null, 'owner_id' => UsersFixture::USER_ADMIN_ID, 'owner_model' => 'User' ] ); $this->assertResponseCode(405); $this->assertDbRecordNotExists('EncryptionKeys', ['uuid' => $uuid]); //TODO: $this->assertRequestMatchesOpenApiSpec(); $this->assertResponseMatchesOpenApiSpec(self::ENDPOINT, 'post'); } }