public void ContributorsAreCalledCorrectly()
        {
            var api   = new TestApiA();
            var value = api.Context.GetApiService <ISomeService>().Call();

            Assert.Equal("03210", value);
        }
Example #2
0
        public void CachedConfigurationIsCachedCorrectly()
        {
            ApiBase api           = new TestApiA();
            var     configuration = api.Context.Configuration;

            ApiBase anotherApi = new TestApiA();
            var     cached     = anotherApi.Context.Configuration;

            Assert.Same(configuration, cached);
        }
Example #3
0
        public async Task GetModelUsingDefaultModelHandler()
        {
            var api     = new TestApiA();
            var context = api.Context;

            var model = await context.GetModelAsync();

            Assert.Equal(4, model.SchemaElements.Count());
            Assert.NotNull(model.SchemaElements
                           .SingleOrDefault(e => e.Name == "TestName"));
            Assert.NotNull(model.SchemaElements
                           .SingleOrDefault(e => e.Name == "TestName2"));
            Assert.NotNull(model.SchemaElements
                           .SingleOrDefault(e => e.Name == "TestName3"));
            Assert.NotNull(model.EntityContainer);
            Assert.NotNull(model.EntityContainer.Elements
                           .SingleOrDefault(e => e.Name == "TestEntitySet"));
            Assert.NotNull(model.EntityContainer.Elements
                           .SingleOrDefault(e => e.Name == "TestEntitySet2"));
            Assert.NotNull(model.EntityContainer.Elements
                           .SingleOrDefault(e => e.Name == "TestEntitySet3"));
        }
Example #4
0
        public void ConfigurationRegistersApiServicesCorrectly()
        {
            var api = new TestApiA();

            Assert.Null(api.Context.GetApiService <IServiceA>());
            Assert.Null(api.Context.GetApiService <IServiceB>());

            var apiB = new TestApiB();

            Assert.Same(apiB.serviceA, apiB.Context.GetApiService <IServiceA>());

            var serviceBInstance  = apiB.Context.GetApiService <ServiceB>();
            var serviceBInterface = apiB.Context.GetApiService <IServiceB>();

            Assert.Equal(serviceBInstance, serviceBInterface);

            // AddService will call services.TryAddTransient
            Assert.Same(serviceBInstance, serviceBInterface);

            var serviceBFirst = serviceBInterface as ServiceB;

            Assert.NotNull(serviceBFirst);
            Assert.Same(apiB.serviceB, serviceBFirst.InnerHandler);
        }