コード例 #1
0
    public override void TestInitialize()
    {
        base.TestInitialize();

        LoggerFactoryMock = new Mock <ILoggerFactory>();
        LoggerMock        = new Mock <ILogger>();

        LoggerFactoryMock.Setup(c => c.CreateLogger(LoggingCategory.Name)).Returns(LoggerMock.Object);

        ClassUnderTest = new KSqlDbRestApiClient(HttpClientFactory, LoggerFactoryMock.Object);
    }
コード例 #2
0
    public void GetEndpoint_DefaultIs_KSql()
    {
        //Arrange
        var ksqlDbStatement = new KSqlDbStatement(createOrReplaceTableStatement);

        //Act
        var endpoint = KSqlDbRestApiClient.GetEndpoint(ksqlDbStatement);

        //Assert
        endpoint.Should().Be("/ksql");
    }
コード例 #3
0
        private Task <HttpResponseMessage> ExecuteStatementAsync(KSqlDbStatement ksqlDbStatement, CancellationToken cancellationToken = default)
        {
            var httpClient = new HttpClient()
            {
                BaseAddress = ksqlDbUrl
            };

            var httpClientFactory = new HttpClientFactory(httpClient);

            var restApiClient = new KSqlDbRestApiClient(httpClientFactory);

            return(restApiClient.ExecuteStatementAsync(ksqlDbStatement, cancellationToken));
        }
コード例 #4
0
    public void GetEndpoint_OverridenToQueryEndpoint()
    {
        //Arrange
        var ksqlDbStatement = new KSqlDbStatement(createOrReplaceTableStatement)
        {
            EndpointType = EndpointType.Query
        };

        //Act
        var endpoint = KSqlDbRestApiClient.GetEndpoint(ksqlDbStatement);

        //Assert
        endpoint.Should().Be("/query");
    }
コード例 #5
0
        public async Task ExecuteStatementAsync_HttpClientWasCalled_OkResult()
        {
            //Arrange
            var ksqlDbStatement = new KSqlDbStatement(statement);
            var restApiClient   = new KSqlDbRestApiClient(HttpClientFactory);

            var httpResponseMessage = await restApiClient.ExecuteStatementAsync(ksqlDbStatement);

            //Act
            var responses = httpResponseMessage.ToStatementResponses();

            //Assert
            responses[0].CommandStatus.Message.Should().Be("Table created");
            responses[0].CommandStatus.Status.Should().Be("SUCCESS");
            responses[0].CommandId.Should().Be("table/`MOVIES`/create");
            responses[0].CommandSequenceNumber.Should().Be(328);
        }
コード例 #6
0
    public async Task TerminatePushQueryAsync()
    {
        //Arrange
        CreateHttpMocks(TerminatePushQueryResponse);

        //Act
        var response = await ClassUnderTest.TerminatePushQueryAsync(queryId);

        //Assert
        response.IsSuccessStatusCode.Should().BeTrue();
        var closeQuery = new CloseQuery
        {
            QueryId = queryId
        };

        var expectedContent = await KSqlDbRestApiClient.CreateContent(closeQuery, Encoding.UTF8).ReadAsStringAsync();

        VerifySendAsync(expectedContent, "/close-query");
    }
コード例 #7
0
    internal static async Task <HttpResponseMessage> ExplainInternalAsync <TSource>(this IQbservable <TSource> source, CancellationToken cancellationToken = default)
    {
        if (source == null)
        {
            throw new ArgumentNullException(nameof(source));
        }

        var kStreamSet = source as KStreamSet <TSource>;

        var explainStatement = CreateExplainStatement(kStreamSet);

        var httpClientFactory = kStreamSet.GetHttpClientFactory();

        var restApiClient = new KSqlDbRestApiClient(httpClientFactory);

        var httpResponseMessage = await restApiClient.ExecuteStatementAsync(new KSqlDbStatement(explainStatement), cancellationToken);

        return(httpResponseMessage);
    }
コード例 #8
0
        public override void TestInitialize()
        {
            base.TestInitialize();

            ClassUnderTest = new KSqlDbRestApiClient(HttpClientFactory);
        }