diff --git a/src/Sdk.UnitTests/Cerbos/Sdk/UnitTests/CerbosClientTest.cs b/src/Sdk.UnitTests/Cerbos/Sdk/UnitTests/CerbosClientTest.cs index 8ae8686..bbf1f10 100644 --- a/src/Sdk.UnitTests/Cerbos/Sdk/UnitTests/CerbosClientTest.cs +++ b/src/Sdk.UnitTests/Cerbos/Sdk/UnitTests/CerbosClientTest.cs @@ -25,8 +25,8 @@ public class CerbosClientTest private IContainer? _container; - private CerbosClient? _client; - private CerbosClient? _clientPlayground; + private ICerbosClient? _client; + private ICerbosClient? _clientPlayground; private readonly string _jwt = "eyJhbGciOiJFUzM4NCIsImtpZCI6IjE5TGZaYXRFZGc4M1lOYzVyMjNndU1KcXJuND0iLCJ0eXAiOiJKV1QifQ.eyJhdWQiOlsiY2VyYm9zLWp3dC10ZXN0cyJdLCJjdXN0b21BcnJheSI6WyJBIiwiQiIsIkMiXSwiY3VzdG9tSW50Ijo0MiwiY3VzdG9tTWFwIjp7IkEiOiJBQSIsIkIiOiJCQiIsIkMiOiJDQyJ9LCJjdXN0b21TdHJpbmciOiJmb29iYXIiLCJleHAiOjE5NTAyNzc5MjYsImlzcyI6ImNlcmJvcy10ZXN0LXN1aXRlIn0._nCHIsuFI3wczeuUv_xjSwaVnIQUdYA9sGf_jVsrsDWloLs3iPWDaA1bXpuIUJVsi8-G6qqdrPI0cOBxEocg1NCm8fyD9T_3hsZV0fYWon_Je6Kl93a3JIW3S6kbvjsL"; diff --git a/src/Sdk/Cerbos/Sdk/Builder/CerbosClientBuilder.cs b/src/Sdk/Cerbos/Sdk/Builder/CerbosClientBuilder.cs index 43f2d1a..104dc5d 100644 --- a/src/Sdk/Cerbos/Sdk/Builder/CerbosClientBuilder.cs +++ b/src/Sdk/Cerbos/Sdk/Builder/CerbosClientBuilder.cs @@ -69,7 +69,7 @@ public CerbosClientBuilder WithGrpcChannelOptions(GrpcChannelOptions grpcChannel return this; } - public CerbosClient Build() + public ICerbosClient Build() { if (string.IsNullOrEmpty(Target)) { diff --git a/src/Sdk/Cerbos/Sdk/CerbosClient.cs b/src/Sdk/Cerbos/Sdk/CerbosClient.cs index de8ee09..fa7eabb 100644 --- a/src/Sdk/Cerbos/Sdk/CerbosClient.cs +++ b/src/Sdk/Cerbos/Sdk/CerbosClient.cs @@ -11,7 +11,7 @@ namespace Cerbos.Sdk /// /// CerbosClient provides a client implementation that communicates with the PDP. /// - public sealed class CerbosClient + public sealed class CerbosClient: ICerbosClient { private Api.V1.Svc.CerbosService.CerbosServiceClient CerbosServiceClient { get; } private readonly Metadata _metadata; diff --git a/src/Sdk/Cerbos/Sdk/ICerbosClient.cs b/src/Sdk/Cerbos/Sdk/ICerbosClient.cs new file mode 100644 index 0000000..4c07c7e --- /dev/null +++ b/src/Sdk/Cerbos/Sdk/ICerbosClient.cs @@ -0,0 +1,14 @@ +using System.Threading.Tasks; +using Cerbos.Sdk.Response; +using Grpc.Core; + +namespace Cerbos.Sdk +{ + public interface ICerbosClient + { + CheckResourcesResponse CheckResources(Builder.CheckResourcesRequest request, Metadata headers = null); + Task CheckResourcesAsync(Builder.CheckResourcesRequest request, Metadata headers = null); + PlanResourcesResponse PlanResources(Builder.PlanResourcesRequest request, Metadata headers = null); + Task PlanResourcesAsync(Builder.PlanResourcesRequest request, Metadata headers = null); + } +} \ No newline at end of file