public void Register(Shared.Domain.Instance instance) { string appId = instance.App; var instanceIDObject = new InstanceID(instance.HostName, instance.Port); var instanceId = instanceIDObject.InstanceId; var existingInstance = this.GetByAppIdInstanceId(appId, instanceId); if (existingInstance != null) { throw new InvalidOperationException($"The application '{appId}' has instance '{instanceId}' already registered "); } this.instanceRepository.Add(instance); }
public void Heartbeat_Should_RenewInstanceTimestamp() { //Arrange string appID = "ApplicationTest"; applicationOneInstance1.App = appID; Shared.Domain.Instance instance = (Instance)applicationOneInstance1; instance.SetHeartbeat(DateTimeOffset.UtcNow.ToUnixTimeSeconds() - 10); this.instanceService.Register(instance); string instanceId = $"{applicationOneInstance1.HostName}:{applicationOneInstance1.Port}"; //Act var prevTimestamp = instance.HeartbeatTimestamp; this.instanceService.Heartbeat(instanceId); var result = this.instanceService.GetByInstanceID(instanceId); //Assert result.HeartbeatTimestamp.Should().BeGreaterThan(prevTimestamp); }