private void InitializeObject()
 {
     _gatewayService    = new GatewayService();
     _sensorBgWService  = new SensorBgWService();
     _gatewayRepository = new GatewayRepository();
     _emailService      = new EmailService();
 }
Beispiel #2
0
        public async void Delete_Gateway_Deletes_Element()
        {
            builder.UseInMemoryDatabase("Delete_Gateway_Deletes_Element");
            var options = builder.Options;
            var gateway = new Domain.Gateway();

            using (var context = new TestDbContext(options))
            {
                gateway = new Domain.Gateway()
                {
                    Id           = 1,
                    SerialNumber = "G1",
                    IPV4Address  = "12.12.1.2",
                    Name         = "G1"
                };
                context.Add(gateway);
                context.SaveChanges();
            }

            using (var context = new TestDbContext(options))
            {
                var repository = new GatewayRepository(context);
                await repository.Delete(gateway);

                gateway = context.Gateways.Find(1);
            }

            Assert.Null(gateway);
        }
 public SimpleRepositoryService()
 {
     this.gatewayRepository        = new GatewayRepository();
     this.controllerRepository     = new ControllerRepository();
     this.dummyWebService          = new ExternalServiceMock();
     this.controllerTypeRepository = new ControllerTypeRepository();
 }
        public async void TestFindById()
        {
            // Arrange
            var options = new DbContextOptionsBuilder <GatewayDbContext>().UseInMemoryDatabase("gateway_test_findbyid");
            var db      = new GatewayDbContext(options.Options);
            // db.RemoveRange(db.Gateways);
            // await db.SaveChangesAsync();

            var gateway = new Gateway {
                Id = 1, Name = "BBB", IPv4 = "192.168.4.12", SerialNumber = "sdsd"
            };
            var data = new List <Gateway>
            {
                gateway,
                new Gateway {
                    Id = 2, Name = "ZZZ", IPv4 = "127.0.0.1", SerialNumber = "qwe123"
                },
                new Gateway {
                    Id = 3, Name = "asd", IPv4 = "127.0.0.1", SerialNumber = "qdsfs"
                },
            }.AsQueryable();

            db.AddRange(data);
            await db.SaveChangesAsync();

            var repo = new GatewayRepository(db);

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

            // Assert
            Assert.Equal("BBB", result.Name);
        }
        public async void TestGet()
        {
            // Arrange
            var gateway = new Gateway {
                Id = 1, Name = "BBB", IPv4 = "192.168.4.12", SerialNumber = "sdsd"
            };
            var data = new List <Gateway>
            {
                gateway,
                new Gateway {
                    Id = 2, Name = "ZZZ", IPv4 = "127.0.0.1", SerialNumber = "qwe123"
                },
                new Gateway {
                    Id = 3, Name = "asd", IPv4 = "127.0.0.1", SerialNumber = "qdsfs"
                },
            };
            var options = new DbContextOptionsBuilder <GatewayDbContext>().UseInMemoryDatabase("gateway_test_get");
            var db      = new GatewayDbContext(options.Options);

            db.AddRange(data);
            db.SaveChanges();
            var repo       = new GatewayRepository(db);
            var loggerMock = new Mock <ILogger <GatewayController> >();
            var controller = new GatewayController(repo, loggerMock.Object);

            // Act
            var result = await controller.Get();

            // Assert
            Assert.Contains(gateway, result);
        }
        public async void TestNoMoreThan10Devices()
        {
            // Arrange
            var gateway = new Gateway
            {
                Id           = 1,
                Name         = "wee",
                IPv4         = "192.168.4.12",
                SerialNumber = "sdsd",
                Devices      = new List <Device>
                {
                    new Device {
                        UID = 1
                    },
                    new Device {
                        UID = 1
                    },
                    new Device {
                        UID = 1
                    },
                    new Device {
                        UID = 1
                    },
                    new Device {
                        UID = 1
                    },
                    new Device {
                        UID = 1
                    },
                    new Device {
                        UID = 1
                    },
                    new Device {
                        UID = 1
                    },
                    new Device {
                        UID = 1
                    },
                    new Device {
                        UID = 1
                    },
                    new Device {
                        UID = 1
                    },
                }
            };


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

            var repo = new GatewayRepository(db);

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

            // Assert
            Assert.False(result.Status);
        }
Beispiel #7
0
        public async void Insert_Null_Gateway_Throws_Error()
        {
            builder.UseInMemoryDatabase("Insert_Null_Gateway_Throws_Error");
            var options = builder.Options;

            Domain.Gateway gateway = new Domain.Gateway();
            using (var context = new TestDbContext(options))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();
                var repository = new GatewayRepository(context);

                await Assert.ThrowsAsync <ArgumentNullException>(async() => await repository.Insert(null));
            }
        }
Beispiel #8
0
        public async void Delete_Non_Existing_Gateway_In_Empty_DB_Throws_Error()
        {
            builder.UseInMemoryDatabase("Delete_Non_Existing_Gateway_In_Empty_DB_Throws_Error");
            var options = builder.Options;

            Domain.Gateway gateway = new Domain.Gateway();
            using (var context = new TestDbContext(options))
            {
                var repository = new GatewayRepository(context);
                gateway = new Domain.Gateway()
                {
                    Id           = 1,
                    SerialNumber = "G1",
                    IPV4Address  = "12.12.1.2",
                    Name         = "G1"
                };
                await Assert.ThrowsAsync <DbUpdateConcurrencyException>(async() => await repository.Delete(gateway));
            }
        }
        public async void TestCreate()
        {
            // Arrange
            var gateway = new Gateway {
                Name = "Asdsd", IPv4 = "192.168.4.12", SerialNumber = "sdsd"
            };

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

            db.RemoveRange(db.Gateways);
            db.SaveChanges();
            var repo = new GatewayRepository(db);

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

            // Assert
            Assert.True(result.Status);
            Assert.Equal((result.Entity as Gateway).IPv4, "192.168.4.12");
        }
        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);
        }
Beispiel #11
0
        public async void Delete_Null_Gateway_Throws_Error()
        {
            builder.UseInMemoryDatabase("Delete_Null_Gateway_Throws_Error");
            var options = builder.Options;

            Domain.Gateway gateway = new Domain.Gateway();
            using (var context = new TestDbContext(options))
            {
                var repository = new GatewayRepository(context);
                gateway = new Domain.Gateway()
                {
                    Id           = 1,
                    SerialNumber = "G1",
                    IPV4Address  = "12.12.1.2",
                    Name         = "G1"
                };
                context.Gateways.Add(gateway);
                context.SaveChanges();
                await Assert.ThrowsAsync <ArgumentNullException>(async() => await repository.Delete(null));
            }
        }
Beispiel #12
0
        public async void Get_Gateway_Returns_Element_If_Exists()
        {
            builder.UseInMemoryDatabase("Get_Gateway_Returns_Element_If_Exists");
            var options = builder.Options;
            var gateway = new Domain.Gateway()
            {
                Id           = 1,
                SerialNumber = "G1",
                IPV4Address  = "12.12.1.2",
                Name         = "G1"
            };

            using (var context = new TestDbContext(options))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();
                context.Add(gateway);
                context.SaveChanges();
            }

            Domain.Gateway existingGateway    = null;
            Domain.Gateway nonExistingGateway = null;

            using (var context = new TestDbContext(options))
            {
                var repository = new GatewayRepository(context);
                existingGateway = await repository.Get(1);

                nonExistingGateway = await repository.Get(2);
            }

            Assert.True(existingGateway != null && nonExistingGateway == null);
            Assert.True(existingGateway.Id == gateway.Id &&
                        existingGateway.IPV4Address == gateway.IPV4Address &&
                        existingGateway.Name == gateway.Name &&
                        existingGateway.SerialNumber == gateway.SerialNumber);
        }
        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);
        }
Beispiel #15
0
        public async void Insert_Gateway_Inserts_Element()
        {
            builder.UseInMemoryDatabase("Insert_Gateway_Inserts_Element");
            var options = builder.Options;

            Domain.Gateway gateway = new Domain.Gateway();
            using (var context = new TestDbContext(options))
            {
                context.Database.EnsureDeleted();
                context.Database.EnsureCreated();
                var repository = new GatewayRepository(context);
                await repository.Insert(new Domain.Gateway()
                {
                    Id           = 1,
                    SerialNumber = "G1",
                    IPV4Address  = "12.12.1.2",
                    Name         = "G1"
                });

                gateway = context.Gateways.Find(1);
            }

            Assert.True(gateway != null && gateway.Id == 1);
        }
Beispiel #16
0
 public GatewayController(GatewayRepository repo, ILogger <GatewayController> logger)
 {
     _repo   = repo;
     _logger = logger;
 }
Beispiel #17
0
 public GatewayBusiness(GatewayRepository _repo)
 {
     repo = _repo;
 }
Beispiel #18
0
 public GatewayController(GatewayRepository gatewayRepository, ILogger <GatewayController> logger)
 {
     _gatewayRepository = gatewayRepository;
     _logger            = logger;
 }
 internal GatewayService()
 {
     _gatewayRepository = new GatewayRepository();
     _sensorRepository  = new SensorRepository();
 }