Esempio n. 1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
            services.AddSwaggerGen(options =>
            {
                options.SwaggerDoc("v1", new Info {
                    Title = "Customer API", Version = "v1"
                });
            });

            var connectionString = Configuration.GetConnectionString("customersDB");

            if (Configuration.GetValue <bool>("UseMongo2Go"))
            {
                var runner = MongoDbRunner.StartForDebugging();
                services.AddSingleton(runner);
                connectionString = runner.ConnectionString + "customers";
            }

            var database = OpenDatabaseConnection(connectionString);

            services.AddSingleton(database);

            var serviceProvider = services.BuildServiceProvider();

            services.AddPlatibusServices(configure: configuration =>
            {
                var sink = serviceProvider.GetService <AspNetCoreLoggingSink>();
                configuration.DiagnosticService.AddSink(sink);
            });
        }
Esempio n. 2
0
        //Mongo Db local instance
        public MongoDbContext()
        {
            _runner = MongoDbRunner.StartForDebugging();

            MongoClient client = new MongoClient(_runner.ConnectionString);
            //TODO Change this
            MongoServer   server   = client.GetServer();
            MongoDatabase database = server.GetDatabase("Games");

            //Get the collection for writing
            var collection = database.GetCollection <Game>("GameItems");

            //We want to know that it has been written successfully
            collection.WithWriteConcern(WriteConcern.Acknowledged);

            //Retrieve the game objects from the json
            List <Game> games = RetrieveObjectsFromJson();

            foreach (Game game in games)
            {
                try
                {
                    //Attempt to add each object to the mango db
                    collection.Insert <Game>(game);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Unable to write to MongoDb, game Id:" + game.id);
                }
            }

            //IQueryable uses lazy loading so it is not actually reading the entire list to memory
            //It will only actually load the data when 'tolist' or the query is explicitly executed
            _games = collection.AsQueryable <Game>();
        }
Esempio n. 3
0
        public void Start()
        {
            _runner = MongoDbRunner.StartForDebugging();
            _runner.Import(DatabaseName, MongoDbNoteRepository.CollectionNotes, @"..\App_Data\" + MongoDbNoteRepository.CollectionNotes + ".json", true);
            _runner.Import(DatabaseName, MongoDbNoteRepository.CollectionCategories, @"..\App_Data\" + MongoDbNoteRepository.CollectionCategories + ".json", true);

            ConnectionString = _runner.ConnectionString;
        }
Esempio n. 4
0
        public Mongo2GoRunnerFixture()
        {
            this.Runner = MongoDbRunner.StartForDebugging(
                singleNodeReplSet: true
                );
            var originalConnectionString = this.Runner.ConnectionString;

            this.ConnectionString = originalConnectionString.Replace("?", "test?");
        }
Esempio n. 5
0
        internal static void CreateConnection()
        {
            _runner = MongoDbRunner.StartForDebugging();

            MongoClient client = new MongoClient(_runner.ConnectionString);

            _database   = client.GetDatabase(_databaseName);
            _collection = _database.GetCollection <TestDocument>(_collectionName);
        }
Esempio n. 6
0
        internal static void CreateConnection()
        {
            _runner = MongoDbRunner.StartForDebugging();

            MongoServer   server   = MongoServer.Create(_runner.ConnectionString);
            MongoDatabase database = server.GetDatabase(_databaseName);

            _collection = database.GetCollection <TestDocument>(_collectionName);
        }
Esempio n. 7
0
        public ActivationsRepositoryTests()
        {
            Runner      = MongoDbRunner.StartForDebugging();
            MongoClient = new MongoClient(Runner.ConnectionString);
            MongoClient.DropDatabase("ActivationsTestDatabase");
            Database   = MongoClient.GetDatabase("ActivationsTestDatabase");
            Collection = Database.GetCollection <Activation>("ActivationsTestCollection");

            ActivationsRepository = new ActivationsRepository(Collection);
        }
Esempio n. 8
0
        public ExercisesRepositoryTests()
        {
            Runner      = MongoDbRunner.StartForDebugging();
            MongoClient = new MongoClient(Runner.ConnectionString);
            MongoClient.DropDatabase("exercisesTestDatabase");
            Database   = MongoClient.GetDatabase("exercisesTestDatabase");
            Collection = Database.GetCollection <Exercise>("exercisesTestCollection");

            ExercisesRepository = new ExercisesRepository(Collection);
        }
        public void InitializeMongo()
        {
            Runner      = MongoDbRunner.StartForDebugging();
            MongoClient = new MongoClient(Runner.ConnectionString);

            MongoClient.DropDatabase("BingoTestDatabase");

            Database              = MongoClient.GetDatabase("BingoTestDatabase");
            ExercisesCollection   = Database.GetCollection <Exercise>("exercises");
            MusclesCollection     = Database.GetCollection <Muscle>("muscles");
            ActivationsCollection = Database.GetCollection <Activation>("activations");
        }
Esempio n. 10
0
 public RepositoryTests()
 {
     _runner = MongoDbRunner.StartForDebugging();
     _client = new MongoClient(_runner.ConnectionString);
     _client.DropDatabase(_dbname);
     _database = _client.GetDatabase(_dbname);
     _repo     = new Repository <Person>(_database);
     _persons  = new Faker <Person>()
                 .CustomInstantiator(f =>
     {
         return(new Person
         {
             Name = f.Person.FullName,
             Email = f.Person.Email,
             Points = f.Random.Int(0, 10000)
         });
     });
 }
Esempio n. 11
0
        static void Main(string[] args)
        {
            // Init MongoDB
            var runner = MongoDbRunner.StartForDebugging();
            var client = new MongoClient(runner.ConnectionString);

            client.GetDatabase("TestCars").DropCollection("Car");
            client.GetDatabase("TestCars").DropCollection("_migrations");
            client.GetDatabase("TestCars").DropCollection(nameof(SparePart));

            // Init MongoMigration
            MongoMigrationClient.Initialize(
                client,
                new MongoMigrationSettings()
            {
                ConnectionString = runner.ConnectionString,
                Database         = "TestCars"
            },
                new LightInjectAdapter(new LightInject.ServiceContainer()));

            Console.WriteLine("Apply database migrations: ");
            Console.WriteLine("\n");

            var migrationsCollection = client.GetDatabase("TestCars").GetCollection <BsonDocument>("_migrations");
            var migrations           = migrationsCollection.FindAsync(_ => true).Result.ToListAsync().Result;

            migrations.ForEach(r => Console.WriteLine(r + "\n"));

            var carsCollection   = client.GetDatabase("TestCars").GetCollection <Car>("Car");
            var addedInMigration = carsCollection.FindAsync(Builders <Car> .Filter.Eq(c => c.Type, "AddedInMigration")).Result.FirstOrDefault();

            Console.WriteLine("New Car was added and updated in database migrations: ");
            Console.WriteLine(addedInMigration?.ToBsonDocument() + "\n");

            Console.WriteLine("New collection was added in database: ");
            Console.WriteLine(nameof(SparePart) + "\n");

            Console.WriteLine("\n");
            Console.WriteLine("Press any Key to exit...");
            Console.Read();

            client.GetDatabase("TestCars").DropCollection("Car");
            client.GetDatabase("TestCars").DropCollection("_migrations");
        }
Esempio n. 12
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
            services.AddSwaggerGen(options =>
            {
                options.SwaggerDoc("v1", new Info {
                    Title = "Billing API", Version = "v1"
                });
            });

            var billingConnectionString    = Configuration.GetConnectionString("billingDB");
            var journalingConnectionString = Configuration.GetConnectionString("journalingDB");

            if (Configuration.GetValue <bool>("UseMongo2Go"))
            {
                var runner = MongoDbRunner.StartForDebugging();
                services.AddSingleton(runner);
                billingConnectionString    = runner.ConnectionString + "billing";
                journalingConnectionString = runner.ConnectionString + "journaling";
            }

            var billingDb = OpenDatabaseConnection(billingConnectionString);

            var journalDb      = OpenDatabaseConnection(journalingConnectionString);
            var messageJournal =
                new MongoDBMessageJournal(
                    new MongoDBMessageJournalOptions(journalDb));

            services.AddSingleton(billingDb);
            services.AddSingleton <IInvoiceRepository, MongoInvoiceRepository>();
            services.AddSingleton <IJournalingUpdateService, JournalingUpdateService>();
            services.AddSingleton <IJournalConsumerProgressTracker, MongoJournalConsumerProgressTracker>();
            services.AddSingleton <IMessageNamingService, DefaultMessageNamingService>();
            services.AddSingleton <ISerializationService, DefaultSerializationService>();
            services.AddSingleton <IHostedService, JournalingManagerService>();
            services.AddSingleton <IMessageJournal>(sp => messageJournal);
        }
Esempio n. 13
0
 public Mongo2GoFixture()
 {
     DbRegistration.Init();
     _runner     = RUN_WITH_STANDARD_PORT ? MongoDbRunner.StartForDebugging() : MongoDbRunner.Start();
     MongoClient = new MongoClient(_runner.ConnectionString);
 }
Esempio n. 14
0
        static Program()
        {
            var runner = MongoDbRunner.StartForDebugging();

            _client = new MongoClient(runner.ConnectionString);
        }
        public GodzillaApiServerStartup(IConfiguration configuration)
        {
            Configuration = configuration;

            _runner = MongoDbRunner.StartForDebugging(singleNodeReplSet: true);
        }
Esempio n. 16
0
 public void SetUp()
 {
     _runner = MongoDbRunner.StartForDebugging();
 }
Esempio n. 17
0
        static void Main(string[] args)
        {
            var testsDb       = "tests-db";
            var carCollection = "Car";
            // Init MongoDB
            var runner = MongoDbRunner.StartForDebugging();
            var client = new MongoClient(runner.ConnectionString);

            client.GetDatabase(testsDb).DropCollection(carCollection);

            // Insert old and new version of cars into MongoDB
            var cars = new List <BsonDocument>
            {
                new BsonDocument {
                    { "Dors", 3 }, { "Type", "Cabrio" }, { "UnnecessaryField", "" }
                },
                new BsonDocument {
                    { "Dors", 5 }, { "Type", "Combi" }, { "UnnecessaryField", "" }
                },
                new BsonDocument {
                    { "Doors", 3 }, { "Type", "Truck" }, { "UnnecessaryField", "" }, { "Version", "0.0.1" }
                },
                new BsonDocument {
                    { "Doors", 5 }, { "Type", "Van" }, { "Version", "0.1.1" }
                }
            };

            var bsonCollection =
                client.GetDatabase(testsDb).GetCollection <BsonDocument>(carCollection);

            bsonCollection.InsertManyAsync(cars).Wait();


            // Init MongoMigration
            MongoMigrationClient.Initialize(client, new LightInjectAdapter(new LightInject.ServiceContainer()));

            Console.WriteLine("Migrate from:");
            cars.ForEach(c => Console.WriteLine(c.ToBsonDocument() + "\n"));

            // Migrate old version to current version by reading collection
            var typedCollection = client.GetDatabase("TestCars").GetCollection <Car>("Car");
            var result          = typedCollection.FindAsync(_ => true).Result.ToListAsync().Result;

            Console.WriteLine("To:");
            result.ForEach(r => Console.WriteLine(r.ToBsonDocument() + "\n"));

            // Create new car and add it with current version number into MongoDB
            var id   = ObjectId.GenerateNewId();
            var type = "Test" + id;
            var car  = new Car {
                Doors = 2, Type = type
            };

            typedCollection.InsertOne(car);
            var test = typedCollection.FindAsync(Builders <Car> .Filter.Eq(c => c.Type, type)).Result.Single();

            var aggregate = typedCollection.Aggregate()
                            .Match(new BsonDocument {
                { "Dors", 3 }
            });
            var results = aggregate.ToListAsync().Result;

            Console.WriteLine("New Car was created with version: " + test.Version);
            Console.WriteLine("\n");

            Console.WriteLine("\n");
            Console.WriteLine("Press any Key to exit...");
            Console.Read();

            client.GetDatabase(testsDb).DropCollection(carCollection);
        }
Esempio n. 18
0
 //[Fact]
 public void LocalDataSeeder()
 {
     _runner = MongoDbRunner.StartForDebugging(singleNodeReplSet: false, port: 27017);
     SeedDatabase(_runner);
     _output.WriteLine($"MongoDB Connection String : {_runner.ConnectionString}");
 }