public void ShouldReturnAllFoos() { //Arrange var context = new TestDataContext(Settings.Default.Connection, new FooMappingConfiguration(), new ConsoleOutLogger("Test", LogLevel.All, true, true, true, string.Empty)); var item = new Foo(); var item2 = new Foo(); context.Add(item); context.Add(item2); context.Commit(); var expectedCount = context.AsQueryable <Foo>().Count(); var target = Data.Queries.FindAll <Foo>(); //Act var results = target.Execute(context); //Assert Assert.AreEqual(results.Count(), expectedCount); context.Remove(item); context.Remove(item2); context.Commit(); }
public void ParallelQueries_OtherContext_ShouldBeOK() { // Arrange var user = RandomDataEntityGenerator.CreateUserWithRandomData(); for (int postIndex = 0; postIndex < 10; postIndex++) { var post = RandomDataEntityGenerator.CreatePostWithRandomData(false); user.Posts.Add(post); } TestDataContext.Add(user); TestDataContext.SaveChanges(); // Act / Assert using (DataContext context = CreateTestDataContext() , context2 = CreateTestDataContext()) { var postsQuery = context.Posts; foreach (var post in postsQuery) { context2.Attach(post).Reference(x => x.User).Load(); var firstName = post.User.FirstName; var postText = post.Text; } } }
public void ParallelQueries_Always_Crash() { // Arrange var user = RandomDataEntityGenerator.CreateUserWithRandomData(); for (int postIndex = 0; postIndex < 10; postIndex++) { var post = RandomDataEntityGenerator.CreatePostWithRandomData(false); user.Posts.Add(post); } TestDataContext.Add(user); TestDataContext.SaveChanges(); // Act / Assert using (var dbContext = CreateTestDataContext()) { var postsQuery = dbContext.Posts; foreach (var post in postsQuery) { // throws an error because same transaction is used = command is already in progress Assert.ThrowsException <NpgsqlOperationInProgressException>(() => { var firstName = post.User.FirstName; }); var posText = post.Text; } } }
public async Task DeveAtualizarPessoa() { var pessoa = new Pessoa { Nome = "nova pessoa", Twitter = "novo twitter" }; TestDataContext.Add(pessoa); TestDataContext.SaveChanges(); var data = TestDataContext.Pessoas.Where(c => c.Nome == pessoa.Nome && c.Twitter == pessoa.Twitter).FirstOrDefault(); data.Nome = "pessoa alterada"; data.Twitter = "twitter alterado"; var strPessoa = JsonConvert.SerializeObject(data); var httpContent = new StringContent(strPessoa, Encoding.UTF8, "application/json"); var response = await Client.PutAsync(BaseUrl, httpContent); response.EnsureSuccessStatusCode(); Assert.Equal("OK", response.StatusCode.ToString()); var pessoaAlterada = TestDataContext.Pessoas.Where(c => c.Nome == data.Nome && c.Twitter == data.Twitter).FirstOrDefault(); Assert.NotNull(pessoaAlterada); }
public void Should_Add_log_messages_for_add() { //Arrange Database.SetInitializer(new DropCreateInitializer <TestDataContext>()); var logger = MockRepository.GenerateMock <ILog>(); logger.Expect(x => x.TraceFormat(Arg <string> .Is.Anything, Arg <object[]> .Is.Anything)).IgnoreArguments(). Repeat.Once(); logger.Expect(x => x.DebugFormat(Arg <string> .Is.Anything, Arg <object[]> .Is.Anything)).IgnoreArguments(). Repeat.Once(); var context = new TestDataContext(Settings.Default.Connection, new FooMappingConfiguration(), logger); //Act context.Add(new Foo()); //Assert logger.VerifyAllExpectations(); }
public void ShouldReturnFoo() { //Arrange var context = new TestDataContext(Settings.Default.Connection, new FooMappingConfiguration(), new ConsoleOutLogger("Test", LogLevel.All, true, true, true, string.Empty)); var item = new Foo(); context.Add(item); context.Commit(); var target = Data.Queries.GetById <Foo>(item.Id); //Act var result = target.Execute(context); //Assert Assert.AreEqual(item.Id, result.Id); context.Remove(result); context.Commit(); }
public void TestMethod1() { var options = new DbContextOptionsBuilder <TestDataContext>() .UseInMemoryDatabase(databaseName: "Add_writes_to_database") .Options; using (var context = new TestDataContext(options)) { var streamingUser = new StreamingUser() { UserName = "******", PasswordSalt = "testUser" + Guid.NewGuid().ToString(), }; var streamingUser1 = new StreamingUser() { UserName = "******", PasswordSalt = "testUser1" + Guid.NewGuid().ToString(), }; var streamingUser2 = new StreamingUser() { UserName = "******", PasswordSalt = "testUser2" + Guid.NewGuid().ToString(), }; // Add new entity. context.Add(streamingUser); context.AddRange(new[] { streamingUser1, streamingUser2 }.ToList <StreamingUser>()); context.SaveChanges(); var q = from su in context.Get <StreamingUser>() where su.Id == streamingUser.Id || su.Id == streamingUser1.Id || su.Id == streamingUser2.Id select su; Console.WriteLine("IDataContext addnew test"); Assert.IsTrue(q.Count() == 3); // Update entity. streamingUser.UserName = "******"; context.Update(streamingUser); streamingUser1.UserName = "******"; context.UpdateRange(new[] { streamingUser1 }.ToList <StreamingUser>()); context.Update <StreamingUser>(x => x.Id == streamingUser2.Id, x => { x.UserName = "******"; }); context.SaveChanges(); var qUpdateCheck = from su in context.Get <StreamingUser>() where su.UserName == "1" || su.UserName == "2" || su.UserName == "3" select su; Console.WriteLine("IDataContext update test"); Assert.IsTrue(qUpdateCheck.Count() == 3); // Delete entry test. context.Delete(streamingUser); context.DeleteRange(new[] { streamingUser1 }.ToList <StreamingUser>()); context.Delete <StreamingUser>(x => x.UserName == "3"); context.SaveChanges(); Console.WriteLine("IDataContext delete test"); Assert.IsTrue(!context.Get <StreamingUser>().Any()); } }