public async void CleanupExpiredLease_Expect_NoExpiredLeases() { var leaseRepo = new LeaseRepo(DbConfig); var leaseManager = new LeaseManager(DhcpFakes.FakeDhcpConfiguration(), leaseRepo); var expiredLease = ModelFakes.GetFakeLease(); expiredLease.Expiration = DateTime.UtcNow.AddMinutes(-2); var validLease = ModelFakes.GetFakeLease(); validLease.IpAddress = "10.10.10.11"; validLease.PhysicalAddress = "332211556677"; validLease.HostName = "boot22.local"; await leaseRepo.Insert(expiredLease).ConfigureAwait(false); await leaseRepo.Insert(validLease).ConfigureAwait(false); await leaseManager.CleanExpiredLeases(); var expiredEntity = await leaseRepo.GetByIpAddress(expiredLease.IpAddress).ConfigureAwait(false); var validEntity = await leaseRepo.GetByIpAddress(validLease.IpAddress).ConfigureAwait(false); Assert.Null(expiredEntity); Assert.NotNull(validEntity); }
public async void InsertLease_Expect_NextLeaseToBeNextIpAddress() { var config = DhcpFakes.FakeDhcpConfiguration(); var nextIp = config.StartIpAddress.ToNextIpAddress(); var leaseRepo = new LeaseRepo(DbConfig); var leaseManager = new LeaseManager(DhcpFakes.FakeDhcpConfiguration(), leaseRepo); var lease = ModelFakes.GetFakeLease(config.StartIpAddress.ToString()); await leaseRepo.Insert(lease).ConfigureAwait(false); var nextLease = await leaseManager.GetNextLease(); Assert.Equal(nextIp, nextLease); }
public async void UpdateLease_Expect_UpdatedValueInDb() { var newHostName = "myhost22.local"; var newIpAddress = "192.168.8.11"; var newPhysicalAddress = "0012345678"; var repo = new LeaseRepo(DbConfig); var lease = ModelFakes.GetFakeLease(); var id = await repo.Insert(lease).ConfigureAwait(false); var entity = await repo.Get(id).ConfigureAwait(false); entity.HostName = newHostName; entity.IpAddress = newIpAddress; entity.PhysicalAddress = newPhysicalAddress; await repo.Update(entity).ConfigureAwait(false); entity = await repo.Get(id).ConfigureAwait(false); Assert.Equal(newIpAddress, entity.IpAddress); Assert.Equal(newHostName, entity.HostName); Assert.Equal(newPhysicalAddress, entity.PhysicalAddress); }