public TweetRepositoryFixture() { // Secrets. secretManager = new UserSecretManager(); integrationConnectionString = secretManager.GetDataConnectionStringApiKey("integration"); twitterApiKey = secretManager.GetTwitterApiKey(); // Mappper. var mapper = new MapperConfiguration(cfg => cfg.AddProfile(typeof(DataMapperProfile))) .CreateMapper(); this.mapper = mapper; // Twitter Services. recentSearchService = new RecentSearchService(twitterApiKey); // Inmemory DB. var contextOptions = new DbContextOptionsBuilder <ToritoContext>() .UseInMemoryDatabase("ToritoDevInMemory") .Options; // Context and repositories. toritoContext = new ToritoContext(contextOptions); var isCreated = toritoContext.Database.EnsureCreated(); tweetDbRepository = new TweetDbRepository(toritoContext, mapper); tweetClientRepository = new TweetClientRepository(recentSearchService); cachedtweetService = new CachedTweetService(tweetClientRepository, tweetDbRepository, this.mapper); // Cached task. cachedLast100TweetsTask = cachedtweetService.FetchAndUpdateLast100Tweets(); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ToritoContext toritoContext) { _webHostEnvironment = env; if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseSwagger(); app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "Torito.WebApi v1")); } app.UseCors(builder => builder.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin()); app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); toritoContext.Database.Migrate(); }
//internal readonly Task<GeoCodeResponse> geoCodeResponseTask; public ToritoCoreTestsFixture() { SecretManager = new UserSecretManager(); var gmapsApiKey = SecretManager.GetGmapsGeocodeApiKey(); GmapsGeocodeClient = new GmapsGeocodeClient(gmapsApiKey); // Mappper. var mapper = new MapperConfiguration(cfg => cfg.AddProfile(typeof(DataMapperProfile))) .CreateMapper(); Mapper = mapper; // Cleaners. AddressCleanReceiver = new AddressCleanReceiver(); ParenthesisCleanReceiver = new ParenthesisCleanReceiver(); RetweetCleanReceiver = new RetweetCleanReceiver(); HashtagsCleanReceiver = new HashtagsCleanReceiver(); // Cleaner Handler. TweetDboCleanerHandler = new TweetDboAddressCleanHandler( new IReceiver <TweetDbo>[] { AddressCleanReceiver, AlcoholimetroCleanReceiver, RetweetCleanReceiver, ParenthesisCleanReceiver, HashtagsCleanReceiver, }); // Clean Service. AddressCleanService = new AddressCleanService(TweetDboCleanerHandler); // Inmemory DB. var contextOptions = new DbContextOptionsBuilder <ToritoContext>() .UseInMemoryDatabase("ToritoDevInMemory") .Options; // Db. ToritoContext = new ToritoContext(contextOptions); ToritoContext.Database.EnsureCreated(); TweetDbRepository = new TweetDbRepository(ToritoContext, mapper); LocationService = new TweetLocationService(TweetDbRepository, AddressCleanService, GmapsGeocodeClient, Mapper); }
public TweetDbRepository(ToritoContext context, IMapper mapper) { _toritoContext = context; _mapper = mapper; }