Beispiel #1
0
        public DummyHttpEndpointTest()
        {
            _ctrl      = new DummyController();
            _serviceV1 = new DummyCommandableHttpService();
            _serviceV2 = new DummyCommandableHttpService();

            _httpEndpoint = new HttpEndpoint();

            var references = References.FromTuples(
                new Descriptor("pip-services3-dummies", "controller", "default", "default", "1.0"), _ctrl,
                new Descriptor("pip-services3", "endpoint", "http", "default", "1.0"), _httpEndpoint
                );

            _serviceV1.Configure(ConfigParams.FromTuples(
                                     "base_route", "/api/v1/dummy"
                                     ));

            _serviceV2.Configure(ConfigParams.FromTuples(
                                     "base_route", "/api/v2/dummy"
                                     ));

            _httpEndpoint.Configure(RestConfig);

            _serviceV1.SetReferences(references);
            _serviceV2.SetReferences(references);

            _httpEndpoint.OpenAsync(null).Wait();
        }
Beispiel #2
0
        private DummyCommandableHttpService CreateAndOpenService(ConfigParams config)
        {
            var service = new DummyCommandableHttpService();

            var references = References.FromTuples(
                new Descriptor("pip-services3-dummies", "controller", "default", "default", "1.0"), new DummyController(),
                new Descriptor("pip-services3-dummies", "service", "rest", "default", "1.0"), service
                );

            service.Configure(config);
            service.SetReferences(references);

            service.OpenAsync(null).Wait();

            return(service);
        }
Beispiel #3
0
        public async Task TestOpenApiAsync()
        {
            DummyCommandableHttpService service = CreateAndOpenService(RestConfig);

            try
            {
                var serviceUri = RestConfig.GetAsString("connection.uri");

                using var httpClient = new HttpClient();
                var response = await httpClient.GetAsync($"{serviceUri}/dummy/swagger");

                var openApiContent = await response.Content.ReadAsStringAsync();

                Assert.StartsWith("openapi:", openApiContent);
            }
            finally
            {
                await service.CloseAsync(null);
            }
        }
Beispiel #4
0
        public async Task TestOpenApiOverrideAsync()
        {
            // turn off and override standard swagger document formation
            var config = RestConfig.SetDefaults(ConfigParams.FromTuples("swagger.auto", false));

            DummyCommandableHttpService service = CreateAndOpenService(config);

            try
            {
                var serviceUri = RestConfig.GetAsString("connection.uri");

                using var httpClient = new HttpClient();
                var response = await httpClient.GetAsync($"{serviceUri}/dummy/swagger");

                var openApiContent = await response.Content.ReadAsStringAsync();

                Assert.StartsWith("swagger yaml content from resource", openApiContent);
            }
            finally
            {
                await service.CloseAsync(null);
            }
        }