public void DeleteSuccess() { var model = TestModelFactory.GetModel(); ZaabeeMongoClient.Add(model); Assert.Equal(1L, ZaabeeMongoClient.Delete(model)); }
public async Task DeleteSuccessAsync() { var model = TestModelFactory.GetModel(); await ZaabeeMongoClient.AddAsync(model); Assert.Equal(1L, await ZaabeeMongoClient.DeleteAsync(model)); }
private static void Main(string[] args) { var configBuilder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("RabbitMQ.json", true, true) .AddJsonFile("MongoDb.json", true, true) .AddJsonFile("Application.json", true, true); var config = configBuilder.Build(); var rabbitMqConfig = config.GetSection("ZaabeeRabbitMQ").Get <MqConfig>(); var mongoConfig = config.GetSection("MongoDb").Get <MongoDbConfiger>(); var applicationConfig = config.GetSection("Application"); var mongoClient = new ZaabeeMongoClient(mongoConfig); var categoryRepository = new ArticleCategoryRepository(mongoClient); var articleRepository = new ArticleRepository(mongoClient); ZaabyServer.GetInstance() .UseDDD() .UseZaabyServer <IApplicationService>() .UseEventBus() .AddSingleton <IConfig>(p => new Config(applicationConfig)) .AddSingleton <IZaabeeRabbitMqClient>(p => new ZaabeeRabbitMqClient(rabbitMqConfig, new Serializer())) .AddScoped <IIntegrationEventBus, ZaabyEventBus>() .AddScoped <ArticleCategoryDomainService>() .AddSingleton <IArticleQueryService, ArticleQueryService>() .AddSingleton <IArticleRepository>(e => articleRepository) .AddSingleton(e => articleRepository) .AddSingleton <IArticleCategoryRepository>(e => categoryRepository) .AddSingleton <ICategoryQueryService>(e => categoryRepository) .Run(); }
public void DeleteManySuccess() { var models = TestModelFactory.GetModels(5); ZaabeeMongoClient.AddRange(models); var strings = models.Select(p => p.String); Assert.Equal(5L, ZaabeeMongoClient.Delete <TestModel>(p => strings.Contains(p.String))); }
public void JoinTest2() { var query = from a in ZaabeeMongoClient.GetQueryable <TestModel>() from b in ZaabeeMongoClient.GetQueryable <TestModel>() where a.GuidList.Contains(b.Id) select new { a, b }; Assert.Throws <NotSupportedException>(() => query.ToList()); }
public void UpdateManyNull() { Assert.Throws <ArgumentNullException>("update", () => ZaabeeMongoClient.Update <TestModel>(null, p => p.DateTime == DateTime.Now)); Assert.Throws <ArgumentNullException>("where", () => ZaabeeMongoClient.Update(() => new TestModel { DateTime = DateTime.Now }, null)); }
public async Task DeleteManySuccessAsync() { var models = TestModelFactory.GetModels(5); await ZaabeeMongoClient.AddRangeAsync(models); var strings = models.Select(p => p.String); Assert.Equal(5L, await ZaabeeMongoClient.DeleteAsync <TestModel>(p => strings.Contains(p.String))); }
public async Task UpdateManyNullAsync() { await Assert.ThrowsAsync <ArgumentNullException>("update", async() => await ZaabeeMongoClient.UpdateAsync <TestModel>(null, p => p.DateTime == DateTime.Now)); await Assert.ThrowsAsync <ArgumentNullException>("where", async() => await ZaabeeMongoClient.UpdateAsync(() => new TestModel { DateTime = DateTime.Now }, null)); }
public async Task AddAsync() { var model = TestModelFactory.GetModel(); await ZaabeeMongoClient.AddAsync(model); var result = ZaabeeMongoClient.GetQueryable <TestModel>().FirstOrDefault(p => p.Id == model.Id); Assert.NotNull(result); Assert.Equal(model.ToJson(), result.ToJson()); }
public async Task AddRangeAsync() { var models = TestModelFactory.GetModels(4).ToList(); await ZaabeeMongoClient.AddRangeAsync(models); var ids = models.Select(g => g.Id).ToList(); var results = ZaabeeMongoClient.GetQueryable <TestModel>().Where(p => ids.Contains(p.Id)) .ToList(); Assert.Equal(models.OrderBy(p => p.Id).ToList().ToJson(), results.OrderBy(p => p.Id).ToList().ToJson()); }
public void JoinTest1() { var testModel = TestModelFactory.GetModel(); ZaabeeMongoClient.Add(testModel); var query = from a in ZaabeeMongoClient.GetQueryable <TestModel>() join b in ZaabeeMongoClient.GetQueryable <TestModel>() on a.Id equals b.Id into joinedReadings where a.Id == testModel.Id select new { A = a, B = joinedReadings }; Assert.Throws <NotSupportedException>(() => query.FirstOrDefault()); }
public void UpdateSuccess() { var model = TestModelFactory.GetModel(); ZaabeeMongoClient.Add(model); model.Int = 199; model.String = Guid.NewGuid().ToString(); model.DateTimeUtc = DateTime.UtcNow; ZaabeeMongoClient.Update(model); var result = ZaabeeMongoClient.GetQueryable <TestModel>().FirstOrDefault(p => p.Id == model.Id); Assert.Equal(model.ToJson(), result.ToJson()); }
public void UpdateManySuccess() { var models = TestModelFactory.GetModels(5); ZaabeeMongoClient.AddRange(models); var strings = models.Select(p => p.String); var ids = models.Select(p => p.Id); var now = DateTime.Now; var utcNow = DateTime.UtcNow; var name = Guid.NewGuid().ToString(); var kids = new List <TestModel> { new TestModel { Id = Guid.NewGuid(), DateTime = DateTime.Now, DateTimeUtc = DateTime.UtcNow } }; var modifyQuantity = ZaabeeMongoClient.Update( () => new TestModel { DateTime = now, DateTimeUtc = utcNow, String = name, KidList = kids, EnumInt = EnumInt.Banana }, p => strings.Contains(p.String)); models.ForEach(model => { model.DateTime = now; model.DateTimeUtc = utcNow; model.String = name; model.KidList = kids; model.EnumInt = EnumInt.Banana; }); var results = ZaabeeMongoClient.GetQueryable <TestModel>().Where(p => ids.Contains(p.Id)).ToList(); Assert.Equal(5L, modifyQuantity); Assert.Equal(models.OrderBy(p => p.Id).ToList().ToJson(), results.OrderBy(p => p.Id).ToList().ToJson()); }
public async Task DeleteManyNullAsync() { await Assert.ThrowsAsync <ArgumentNullException>("where", async() => await ZaabeeMongoClient.DeleteAsync((Expression <Func <TestModel, bool> >)null)); }
public void DeleteNull() { Assert.Throws <ArgumentNullException>("entity", () => ZaabeeMongoClient.Delete((TestModel)null)); }
public void DeleteManyNull() { Assert.Throws <ArgumentNullException>("where", () => ZaabeeMongoClient.Delete((Expression <Func <TestModel, bool> >)null)); }
public async Task DeleteNullAsync() { await Assert.ThrowsAsync <ArgumentNullException>("entity", async() => await ZaabeeMongoClient.DeleteAsync((TestModel)null)); }