コード例 #1
0
        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();
        }
コード例 #2
0
        // 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();
        }
コード例 #3
0
        //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);
        }
コード例 #4
0
 public TweetDbRepository(ToritoContext context, IMapper mapper)
 {
     _toritoContext = context;
     _mapper        = mapper;
 }