예제 #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Initialising database and collection...");

            IConfiguration config = InitializeConfigBuilder();

            CosmosDbSettings cosmosDbSettings = BindCosmosVariablesToDto(config);

            Console.WriteLine(cosmosDbSettings.ToString());

            ProfilePatternRepository.InitialiseDocumentClient(cosmosDbSettings);

            Task.WaitAll(ProfilePatternRepository.CreateDatabaseAndCollectionIfNotExists());

            Console.WriteLine("Database and collection initialised successfully");

            // load in profile patterns from resources
            Task.Run(async() =>
            {
                IReadOnlyCollection <FundingStreamPeriodProfilePatternDocument> documents =
                    Assembly.GetExecutingAssembly().GetManifestResourceNames()
                    .Where(rn => rn.EndsWith(".json"))
                    .Select(rn => Assembly.GetExecutingAssembly().GetManifestResourceStream(rn))
                    .Select(ConvertToModel)
                    .ToList();

                await ProfilePatternRepository.RemoveWhereNoIdMatch(documents.Select(d => d.id));

                await documents.ForEachAsync(ProfilePatternRepository.UpsertPattern);
            })
            .GetAwaiter().GetResult();

            Console.WriteLine("Finished writing all profiling patterns to database");
        }
        public void SetUp()
        {
            _cosmos = new Mock <ICosmosRepository>();

            _repository = new ProfilePatternRepository(_cosmos.Object);
        }
예제 #3
0
 public ProfilePatternRepositoryTests()
 {
     _mockCosmoRepository = new Mock <ICosmosRepository>();
     _repository          = new ProfilePatternRepository(_mockCosmoRepository.Object);
     _fundingStreamPeriodProfilePatternBuilder = new FundingStreamPeriodProfilePatternBuilder();
 }