Example #1
0
        //[Test]
        public void SaveRequestToMongoDb()
        {
            var request = new Request();
            request.Url = "http://www.example.com?timestamp=" + GetTimestamp();

            var persister = PersisterFactory.CreateRequestPersisterInstance();
            persister.Save(request);

            // verify by retrieving
            var mongoDb = new MongoDbPersister();
            var collection = mongoDb.Database.GetCollection<Request>("requests");

            // check id
            var query = Query.EQ("_id", request.Id);
            var results = collection.Find(query);
            Assert.AreEqual(1, results.Size(), "should only have 1 result returned from MongoDB because Id is unique");
            var returned = results.First();
            Assert.AreEqual(request.Id, returned.Id);

            // check url
            query = Query.EQ("Url", request.Url);
            results = collection.Find(query);
            Assert.AreEqual(1, results.Size(), "should only have 1 result returned from MongoDB (if URL is unique)");
            returned = results.First();
            Assert.AreEqual(request.Url, returned.Url);

            // check type
            log.Debug("returned: " + returned);
            Assert.IsInstanceOf(typeof(Request), returned);
        }
Example #2
0
        //[Test]
        public void SaveComparisonToMongoDb()
        {
            var request1 = new Request();
            request1.Url = "http://www.google.com?timestamp=" + GetTimestamp() + "&scrape=1";

            var request2 = new Request();
            request2.Url = "http://www.google.com?timestamp=" + GetTimestamp() + "&scrape=2";

            var comparison = Compare(request1, request2);

            var persister = PersisterFactory.CreateComparePersisterInstance();
            persister.Save(comparison);

            // verify by retrieving
            var mongoDb = new MongoDbPersister();
            var collection = mongoDb.Database.GetCollection<Comparison>("comparisons");

            // check id
            var query = Query.EQ("_id", comparison.Id);
            var results = collection.Find(query);
            Assert.AreEqual(1, results.Size(), "should only have 1 result returned from MongoDB because Id is unique");
            var returned = results.First();
            Assert.AreEqual(comparison.Id, returned.Id);

            // check type
            log.Debug("returned: " + returned);
            Assert.IsInstanceOf(typeof(Comparison), returned);
        }
Example #3
0
 public MongoJobsDb()
 {
     _db = new MongoDbPersister();
     _jobCollection = _db.Database.GetCollection<Job>("jobs");
 }
Example #4
0
        public void TestHasRequestsCollection()
        {
            var mongoDb = new MongoDbPersister();

            var collections = mongoDb.Database.GetCollectionNames().ToArray();

            Assert.Contains("requests", collections);

            foreach (string collectionName in collections)
            {
                log.Debug(mongoDb.Database.Name + " collection: " + collectionName);
            }

            //NOTE: this will fail if the MongoDB doesn't have the collections specified
            Assert.IsTrue(mongoDb.Database.CollectionExists("requests"));
            Assert.IsTrue(mongoDb.Database.CollectionExists("scrapes"));
            Assert.IsTrue(mongoDb.Database.CollectionExists("comparisons"));
        }
Example #5
0
        public void TestConnectToMongoDb()
        {
            var mongoDb = new MongoDbPersister();
            log.Debug("connected to MongoDB: " + mongoDb.Database);

            Assert.AreEqual(mongoDb.MongoDbName, mongoDb.Database.Name);
        }