public ApiTestDatabaseFixture() { var options = new DbContextOptionsBuilder <MyBeerAppContext>() .UseInMemoryDatabase(databaseName: "in-mem-api-test-database") .Options; var dbContext = new MyBeerAppContext(options); dbContext.Beers.AddRange(BeerData.Beers); dbContext.SaveChanges(); var server = new TestServer(new WebHostBuilder() .UseEnvironment(EnvironmentName.Development) .ConfigureTestServices((IServiceCollection serviceCollection) => { // Use stubbed database for integration tests serviceCollection.AddScoped <MyBeerAppContext>(x => dbContext); serviceCollection.AddScoped <IRepository <Beer>, EfRepository <Beer> >(); }) .UseStartup <MyBeerApp.Api.Startup>()); var client = server.CreateClient(); Api = RestService.For <IApiDefinition>(client); }
internal static IApiDefinition GetApiDefinition() { if (_foundDefinition != null) { return(_foundDefinition); } foreach (Assembly asm in AppDomain.CurrentDomain.GetAssemblies()) { var foundType = asm.GetTypes().FirstOrDefault(x => typeof(IApiDefinition).IsAssignableFrom(x) && x.IsClass); if (foundType != null) { try { _foundDefinition = (IApiDefinition)Activator.CreateInstance(foundType); return(_foundDefinition); } catch (Exception) { throw new InvalidOperationException($"Found {foundType.Name} as the API definiion, but it lacks empty constructor"); } } } throw new InvalidOperationException("Unable to find any type implementing IApiDefinition"); }
public static IDictionary <string, FunctionIntrospection> Generation(IApiDefinition apiDefinition) { var builder = new Functions(apiDefinition.GetType().Namespace); apiDefinition.Build(builder); return(builder._introspection); }
public ImageDownloaderFactory(IApiDefinition apiDefinition, IServiceProvider serviceProvider) { ApiDefinition = apiDefinition; ServiceProvider = serviceProvider; }
public ZeroMqNotificationReader(IApiDefinition apiDefinition) { _host = apiDefinition.Host; _port = apiDefinition.ZeroMqPort; }
public WlItemsRepository(Container container, IApiDefinition apiDefinition) { Container = container; ApiDefinition = apiDefinition; }