public void TestDeleteHmacKey()
    {
        CreateHmacKeySample     createHmacKeySample     = new CreateHmacKeySample();
        GetHmacKeySample        getHmacKeySample        = new GetHmacKeySample();
        DeactivateHmacKeySample deactivateHmacKeySample = new DeactivateHmacKeySample();
        DeleteHmacKeySample     deleteHmacKeySample     = new DeleteHmacKeySample();

        string serviceAccountEmail = _fixture.GetServiceAccountEmail();

        // Create key.
        var key = createHmacKeySample.CreateHmacKey(_fixture.ProjectId, serviceAccountEmail);

        _accessId = key.Metadata.AccessId;

        // Deactivate key.
        _fixture.HmacChangesPropagated.Eventually(() => deactivateHmacKeySample.DeactivateHmacKey(_fixture.ProjectId, _accessId));
        _isActive = false;

        // Delete key.
        _fixture.HmacChangesPropagated.Eventually(() => deleteHmacKeySample.DeleteHmacKey(_fixture.ProjectId, _accessId));

        // Get key.
        _fixture.HmacChangesPropagated.Eventually(() =>
        {
            var keyMetadata = getHmacKeySample.GetHmacKey(_fixture.ProjectId, _accessId);
            Assert.Equal("DELETED", keyMetadata.State);
        });
        _accessId = null;
    }
    public void TestGetHmacKey()
    {
        CreateHmacKeySample createHmacKeySample = new CreateHmacKeySample();
        GetHmacKeySample    getHmacKeySample    = new GetHmacKeySample();

        string serviceAccountEmail = _fixture.GetServiceAccountEmail();

        // Create key.
        var key = createHmacKeySample.CreateHmacKey(_fixture.ProjectId, serviceAccountEmail);

        _accessId = key.Metadata.AccessId;

        // Get key.
        var keyMetadata = _fixture.HmacChangesPropagated.Eventually(() => getHmacKeySample.GetHmacKey(_fixture.ProjectId, _accessId));

        Assert.Equal(keyMetadata.ServiceAccountEmail, serviceAccountEmail);
    }
    public void TestGetHmacKey()
    {
        CreateHmacKeySample createHmacKeySample = new CreateHmacKeySample();
        GetHmacKeySample    getHmacKeySample    = new GetHmacKeySample();

        string serviceAccountEmail = _bucketFixture.GetServiceAccountEmail();

        // Create key.
        var key = createHmacKeySample.CreateHmacKey(_bucketFixture.ProjectId, serviceAccountEmail);

        _accessId = key.Metadata.AccessId;

        // Get key.
        var keyMetadata = getHmacKeySample.GetHmacKey(_bucketFixture.ProjectId, _accessId);

        Assert.Equal(keyMetadata.ServiceAccountEmail, serviceAccountEmail);
    }
    public void TestDeleteHmacKey()
    {
        CreateHmacKeySample     createHmacKeySample     = new CreateHmacKeySample();
        GetHmacKeySample        getHmacKeySample        = new GetHmacKeySample();
        DeactivateHmacKeySample deactivateHmacKeySample = new DeactivateHmacKeySample();
        DeleteHmacKeySample     deleteHmacKeySample     = new DeleteHmacKeySample();

        string serviceAccountEmail = _bucketFixture.GetServiceAccountEmail();

        // Create key.
        var key = createHmacKeySample.CreateHmacKey(_bucketFixture.ProjectId, serviceAccountEmail);

        // Deactivate key.
        deactivateHmacKeySample.DeactivateHmacKey(_bucketFixture.ProjectId, key.Metadata.AccessId);

        // Delete key.
        deleteHmacKeySample.DeleteHmacKey(_bucketFixture.ProjectId, key.Metadata.AccessId);

        // Get key.
        var keyMetadata = getHmacKeySample.GetHmacKey(_bucketFixture.ProjectId, key.Metadata.AccessId);

        Assert.Equal("DELETED", keyMetadata.State);
    }