示例#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
 public CachedTweetsRepositoryTests(TweetRepositoryFixture fixture)
 {
     _tweetDbRepository     = fixture.tweetDbRepository;
     _tweetClientRepository = fixture.tweetClientRepository;
     _cachedTweetService    = fixture.cachedtweetService;
     _mapper             = fixture.mapper;
     _cached100TweetTask = fixture.cachedLast100TweetsTask;
 }
示例#3
0
 public SyncService(ITweetLocationService tweetLocationService
                    , ITweetRepository tweetRepository
                    , ICachedTweetService cachedTweetService
                    , ITweetDbRepository tweetDbRepository
                    , IAddressCleanService addressCleanService
                    , IMapper mapper)
 {
     _tweetLocationService  = tweetLocationService;
     _tweetClientRepository = tweetRepository;
     _cachedTweetService    = cachedTweetService;
     _tweetDbRepository     = tweetDbRepository;
     _addressCleanService   = addressCleanService;
     _mapper = mapper;
 }