public ObjectIntegrationFixture() { Client = new HttpClient(); Client.BaseAddress = new Uri("http://localhost:9090/api/1.0/"); var mock = new Mock <IHttpClientFactory>(); mock.CallBase = true; mock.Setup(x => x.CreateClient($"unittests-{Common.OBJECT_SERVICE_NAME}")).Returns(Client); ClientFactory = mock.Object; MongoClient = new MongoClient("mongodb://localhost:27017"); MongoBookLogger = new Mock <ILogger <MongoService> >().Object; HttpBookLogger = new Mock <ILogger <HttpObjectService> >().Object; MongoBookService = new MongoService(MongoClient, MongoBookLogger); HttpBookService = new HttpObjectService("unittests", ClientFactory, HttpBookLogger); Services.Add(MongoBookService); Services.Add(HttpBookService); foreach (var service in Services) { service.DeleteCollectionAsync(DB_NAME, GetCollectionName(service)); } }
public void Aggregate() { var repo = new HttpObjectService("unittests", _objectFixture.ClientFactory, _objectFixture.Logger); ServiceResult <string> result = repo.AggregateAsync("bookstore", "customer", "[{ $match: { title: /^(the|a)/i } }]").Result; var array = JArray.Parse(result.Value); Assert.Equal((int)HttpStatusCode.OK, result.Status); Assert.Equal(3, array.Count); }
public void Count() { var repo = new HttpObjectService("unittests", _objectFixture.ClientFactory, _objectFixture.Logger); ServiceResult <long> result = repo.CountAsync("bookstore", "customer", string.Empty).Result; long count = result.Value; Assert.Equal((int)HttpStatusCode.OK, result.Status); Assert.Equal(2, count); Assert.Equal("Object", result.ServiceName); }
public void Delete() { var repo = new HttpObjectService("unittests", _objectFixture.ClientFactory, _objectFixture.Logger); ServiceResult <int> result = repo.DeleteAsync("bookstore", "customer", "3").Result; int deleteResult = result.Value; Assert.Equal((int)HttpStatusCode.OK, result.Status); Assert.Equal(1, deleteResult); Assert.True(result.IsSuccess); Assert.Equal("Object", result.ServiceName); }
public void Get() { var repo = new HttpObjectService("unittests", _objectFixture.ClientFactory, _objectFixture.Logger); ServiceResult <string> result = repo.GetAsync("bookstore", "customer", "1").Result; string customerResult = result.Value; Customer customer = Newtonsoft.Json.JsonConvert.DeserializeObject <Customer>(customerResult); Assert.Equal((int)HttpStatusCode.OK, result.Status); Assert.Equal("John", customer.FirstName); Assert.Equal("Smith", customer.LastName); Assert.Equal(32, customer.Age); Assert.Equal("Object", result.ServiceName); }
public void Replace() { var customer = "{ 'name': 'Mary', 'lastName': 'Jane', 'age': 39 }"; var repo = new HttpObjectService("unittests", _objectFixture.ClientFactory, _objectFixture.Logger); ServiceResult <string> result = repo.ReplaceAsync("bookstore", "customer", "2", customer).Result; string newCustomerResult = result.Value; Customer newCustomer = Newtonsoft.Json.JsonConvert.DeserializeObject <Customer>(newCustomerResult); Assert.Equal((int)HttpStatusCode.OK, result.Status); Assert.Equal("Mary", newCustomer.FirstName); Assert.Equal("Jane", newCustomer.LastName); Assert.Equal(39, newCustomer.Age); Assert.Equal("Object", result.ServiceName); }
public void Multi_Insert() { var customers = new List <string>(2) { "{ 'name': 'Mary', 'lastName': 'Jane', 'age': 39 }", "{ 'name': 'John', 'lastName': 'Smith', 'age': 48 }" }; var repo = new HttpObjectService("unittests", _objectFixture.ClientFactory, _objectFixture.Logger); ServiceResult <IEnumerable <string> > result = repo.InsertManyAsync("bookstore", "customer", customers).Result; List <string> ids = (List <string>)result.Value; Assert.Equal((int)HttpStatusCode.Created, result.Status); Assert.Equal("5c1fbe4dbe41760001060b25", ids[0]); Assert.Equal("5c1fbe4dbe41760001060b26", ids[1]); }
public void Find() { var repo = new HttpObjectService("unittests", _objectFixture.ClientFactory, _objectFixture.Logger); var findCriteria = new FindCriteria() { Start = 0, Limit = -1, SortFieldName = string.Empty, SortDirection = System.ComponentModel.ListSortDirection.Descending }; var findTask = repo.FindAsync("bookstore", "customer", findExpression: string.Empty, findCriteria: findCriteria); ServiceResult <SearchResults> result = findTask.Result; SearchResults searchResults = result.Value; Assert.Equal((int)HttpStatusCode.OK, result.Status); Assert.Equal(2, searchResults.Items.Count); Assert.Equal("Object", result.ServiceName); }