Exemplo n.º 1
0
 public void Stop()
 {
     client.Dispose();
     server.ShutdownAsync().Wait();
     testService = null;
     server      = null;
     client      = null;
 }
Exemplo n.º 2
0
        public void Init()
        {
            server = new Server();
            server.Ports.Add(new ServerPort("localhost", 26500, ServerCredentials.Insecure));

            testService = new GatewayTestService();
            var serviceDefinition = Gateway.BindService(testService);
            server.Services.Add(serviceDefinition);
            server.Start();

            client = Client.ZeebeClient.NewZeebeClient("localhost:26500");
        }
Exemplo n.º 3
0
        public void Init()
        {
            GrpcEnvironment.SetLogger(new ConsoleLogger());
            server = new Server();
            server.Ports.Add(new ServerPort("localhost", 26500, ServerCredentials.Insecure));

            testService = new GatewayTestService();
            var serviceDefinition = Gateway.BindService(testService);

            server.Services.Add(serviceDefinition);
            server.Start();

            client = Client.ZeebeClient.Builder().UseGatewayAddress("localhost:26500").UsePlainText().Build();
        }
Exemplo n.º 4
0
        public async Task ShouldFailOnWrongCert()
        {
            // given
            GrpcEnvironment.SetLogger(new ConsoleLogger());

            var keyCertificatePairs = new List <KeyCertificatePair>();
            var serverCert          = File.ReadAllText(ServerCertPath);

            keyCertificatePairs.Add(new KeyCertificatePair(serverCert, File.ReadAllText(ServerKeyPath)));
            var channelCredentials = new SslServerCredentials(keyCertificatePairs);

            var server = new Server();

            server.Ports.Add(new ServerPort("0.0.0.0", 26505, channelCredentials));

            var testService       = new GatewayTestService();
            var serviceDefinition = Gateway.BindService(testService);

            server.Services.Add(serviceDefinition);
            server.Start();


            // client
            var zeebeClient = ZeebeClient.Builder()
                              .UseGatewayAddress("0.0.0.0:26505")
                              .UseTransportEncryption(WrongCertPath)
                              .Build();

            // when
            try
            {
                await zeebeClient
                .NewPublishMessageCommand()
                .MessageName("messageName")
                .CorrelationKey("p-1")
                .Send();

                Assert.Fail();
            }
            catch (RpcException rpcException)
            {
                // expected
                Assert.AreEqual(rpcException.Status.StatusCode, StatusCode.Unavailable);
            }
        }
Exemplo n.º 5
0
        public async Task ShouldUseAccessTokenSupplier()
        {
            // given
            GrpcEnvironment.SetLogger(new ConsoleLogger());

            var keyCertificatePairs = new List <KeyCertificatePair>();
            var serverCert          = File.ReadAllText(ServerCertPath);

            keyCertificatePairs.Add(new KeyCertificatePair(serverCert, File.ReadAllText(ServerKeyPath)));
            var channelCredentials = new SslServerCredentials(keyCertificatePairs);

            var server = new Server();

            server.Ports.Add(new ServerPort("0.0.0.0", 26505, channelCredentials));

            var testService       = new GatewayTestService();
            var serviceDefinition = Gateway.BindService(testService);

            server.Services.Add(serviceDefinition);
            server.Start();


            // client
            var accessTokenSupplier = new SimpleAccessTokenSupplier();
            var zeebeClient         = ZeebeClient.Builder()
                                      .UseGatewayAddress("0.0.0.0:26505")
                                      .UseTransportEncryption(ClientCertPath)
                                      .UseAccessTokenSupplier(accessTokenSupplier)
                                      .Build();

            // when
            await zeebeClient.TopologyRequest().Send();

            await zeebeClient.TopologyRequest().Send();

            var topology = await zeebeClient.TopologyRequest().Send();

            // then
            Assert.NotNull(topology);
            Assert.AreEqual(3, accessTokenSupplier.Count);
        }
Exemplo n.º 6
0
        public async Task ShouldUseTransportEncryptionWithServerCert()
        {
            // given
            GrpcEnvironment.SetLogger(new ConsoleLogger());

            var keyCertificatePairs = new List <KeyCertificatePair>();
            var serverCert          = File.ReadAllText(ServerCertPath);

            keyCertificatePairs.Add(new KeyCertificatePair(serverCert, File.ReadAllText(ServerKeyPath)));
            var channelCredentials = new SslServerCredentials(keyCertificatePairs);

            var server = new Server();

            server.Ports.Add(new ServerPort("0.0.0.0", 26505, channelCredentials));

            var testService       = new GatewayTestService();
            var serviceDefinition = Gateway.BindService(testService);

            server.Services.Add(serviceDefinition);
            server.Start();


            // client
            var zeebeClient = ZeebeClient.Builder()
                              .UseGatewayAddress("0.0.0.0:26505")
                              .UseTransportEncryption(ServerCertPath)
                              .Build();

            // when
            var publishMessageResponse = await zeebeClient
                                         .NewPublishMessageCommand()
                                         .MessageName("messageName")
                                         .CorrelationKey("p-1")
                                         .Send();

            // then
            Assert.NotNull(publishMessageResponse);
        }