예제 #1
0
        public async void TestFindAll()
        {
            // Arrange
            var options = new DbContextOptionsBuilder <GatewayDbContext>().UseInMemoryDatabase("device_test_findall");
            var db      = new GatewayDbContext(options.Options);

            var gateway = new Gateway {
                Id = 1, Name = "ZZZ", IPv4 = "127.0.0.1", SerialNumber = "qwe123"
            };
            var device = new Device {
                Id = 1, CreatedDate = new DateTime(), Status = Status.Online, UID = 1, Vendor = "Vendor", GatewayId = 1
            };
            var data = new List <Device>
            {
                device,
                new Device {
                    Id = 2, CreatedDate = new DateTime(), Status = Status.Online, UID = 1, Vendor = "Vendor", GatewayId = 1
                },
                new Device {
                    Id = 3, CreatedDate = new DateTime(), Status = Status.Online, UID = 1, Vendor = "Vendor", GatewayId = 1
                }
            };

            db.Add(gateway);
            db.AddRange(data);
            db.SaveChanges();
            var repo = new DeviceRepository(db);

            // Act
            var result = await repo.FindAll();

            // Assert
            Assert.Contains(device, result);
        }
예제 #2
0
        public async void TestDuplicateUID()
        {
            // Arrange
            var gateway = new Gateway {
                Id = 1, Name = "ZZZ", IPv4 = "127.0.0.1", SerialNumber = "qwe123"
            };
            var device = new Device {
                Id = 1, CreatedDate = new DateTime(), Status = Status.Online, UID = 1, Vendor = "Vendor", Gateway = gateway
            };
            var device1 = new Device {
                Id = 2, CreatedDate = new DateTime(), Status = Status.Online, UID = 1, Vendor = "Vendor", Gateway = gateway
            };

            var options = new DbContextOptionsBuilder <GatewayDbContext>().UseInMemoryDatabase("device_test_uid");
            var db      = new GatewayDbContext(options.Options);

            db.Add(device);
            db.SaveChanges();

            var repo = new DeviceRepository(db);

            // Act
            var result = await repo.Create(device1);

            // Assert
            Assert.False(result.Status);
        }
예제 #3
0
        public async void TestUpdate()
        {
            // Arrange
            var gateway = new Gateway {
                Id = 1, Name = "ZZZ", IPv4 = "127.0.0.1", SerialNumber = "qwe123"
            };
            var device = new Device {
                Id = 1, CreatedDate = new DateTime(), Status = Status.Online, UID = 1, Vendor = "Vendor", Gateway = gateway
            };

            var options = new DbContextOptionsBuilder <GatewayDbContext>().UseInMemoryDatabase("device_test_update");
            var db      = new GatewayDbContext(options.Options);

            // db.RemoveRange(db.Gateways);
            // await db.SaveChangesAsync();
            db.Add(device);
            db.SaveChanges();
            var repo = new DeviceRepository(db);

            // Act
            device.Vendor = "Vendor 1";
            var result = await repo.Update(device);

            // Assert
            Assert.True(result.Status);
            Assert.Equal("Vendor 1", ((Device)result.Entity).Vendor);
        }
        public async void TestDelete()
        {
            // Arrange
            var gateway = new Gateway {
                Id = 1, Name = "wee", IPv4 = "192.168.4.12", SerialNumber = "sdsd"
            };

            var options = new DbContextOptionsBuilder <GatewayDbContext>().UseInMemoryDatabase("gateway_test_delete");
            var db      = new GatewayDbContext(options.Options);

            db.Add(gateway);
            db.SaveChanges();
            var repo = new GatewayRepository(db);

            // Act
            gateway.IPv4 = "192.168.4.13";
            var result = await repo.Delete(1);

            // Assert
            Assert.True(result.Status);
        }
        public async void TestDuplicateSerialNumber()
        {
            // Arrange
            var gateway = new Gateway {
                Id = 1, Name = "wee", IPv4 = "192.168.4.1", SerialNumber = "sdsd"
            };
            var gateway2 = new Gateway {
                Id = 2, Name = "qwe", IPv4 = "192.168.4.2", SerialNumber = "sdsd"
            };

            var options = new DbContextOptionsBuilder <GatewayDbContext>().UseInMemoryDatabase("gateway_test_serial");
            var db      = new GatewayDbContext(options.Options);

            db.Add(gateway);
            db.SaveChanges();

            var repo = new GatewayRepository(db);

            // Act
            var result = await repo.Create(gateway2);

            // Assert
            Assert.False(result.Status);
        }
        public async void TestUpdate()
        {
            // Arrange
            var gateway = new Gateway {
                Id = 1, Name = "wee", IPv4 = "192.168.4.12", SerialNumber = "sdsd"
            };

            var options = new DbContextOptionsBuilder <GatewayDbContext>().UseInMemoryDatabase("gateway_test_update");
            var db      = new GatewayDbContext(options.Options);

            // db.RemoveRange(db.Gateways);
            // await db.SaveChangesAsync();
            db.Add(gateway);
            db.SaveChanges();
            var repo = new GatewayRepository(db);

            // Act
            gateway.IPv4 = "192.168.4.13";
            var result = await repo.Update(gateway);

            // Assert
            Assert.True(result.Status);
            Assert.Equal("192.168.4.13", ((Gateway)result.Entity).IPv4);
        }
예제 #7
0
        public async void TestFindById()
        {
            // Arrange
            var options = new DbContextOptionsBuilder <GatewayDbContext>().UseInMemoryDatabase("device_test_findbyid");
            var db      = new GatewayDbContext(options.Options);

            var gateway = new Gateway {
                Id = 1, Name = "ZZZ", IPv4 = "127.0.0.1", SerialNumber = "qwe123"
            };
            var device = new Device {
                Id = 1, CreatedDate = new DateTime(), Status = Status.Online, UID = 1, Vendor = "Vendor", Gateway = gateway
            };

            db.Add(device);
            await db.SaveChangesAsync();

            var repo = new DeviceRepository(db);

            // Act
            var result = await repo.FindById(1);

            // Assert
            Assert.Equal(1, result.UID);
        }