You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
206 lines
5.9 KiB
206 lines
5.9 KiB
using Bit.Core.NotificationHub; |
|
using Bit.Core.Settings; |
|
using Bit.Core.Utilities; |
|
using Xunit; |
|
|
|
namespace Bit.Core.Test.NotificationHub; |
|
|
|
public class NotificationHubConnectionTests |
|
{ |
|
[Fact] |
|
public void IsValid_ConnectionStringIsNull_ReturnsFalse() |
|
{ |
|
// Arrange |
|
var hub = new GlobalSettings.NotificationHubSettings() |
|
{ |
|
ConnectionString = null, |
|
HubName = "hub", |
|
RegistrationStartDate = DateTime.UtcNow, |
|
RegistrationEndDate = DateTime.UtcNow.AddDays(1) |
|
}; |
|
|
|
// Act |
|
var connection = NotificationHubConnection.From(hub); |
|
|
|
// Assert |
|
Assert.False(connection.IsValid); |
|
} |
|
|
|
[Fact] |
|
public void IsValid_HubNameIsNull_ReturnsFalse() |
|
{ |
|
// Arrange |
|
var hub = new GlobalSettings.NotificationHubSettings() |
|
{ |
|
ConnectionString = "Endpoint=sb://example.servicebus.windows.net/;", |
|
HubName = null, |
|
RegistrationStartDate = DateTime.UtcNow, |
|
RegistrationEndDate = DateTime.UtcNow.AddDays(1) |
|
}; |
|
|
|
// Act |
|
var connection = NotificationHubConnection.From(hub); |
|
|
|
// Assert |
|
Assert.False(connection.IsValid); |
|
} |
|
|
|
[Fact] |
|
public void IsValid_ConnectionStringAndHubNameAreNotNull_ReturnsTrue() |
|
{ |
|
// Arrange |
|
var hub = new GlobalSettings.NotificationHubSettings() |
|
{ |
|
ConnectionString = "connection", |
|
HubName = "hub", |
|
RegistrationStartDate = DateTime.UtcNow, |
|
RegistrationEndDate = DateTime.UtcNow.AddDays(1) |
|
}; |
|
|
|
// Act |
|
var connection = NotificationHubConnection.From(hub); |
|
|
|
// Assert |
|
Assert.True(connection.IsValid); |
|
} |
|
|
|
[Fact] |
|
public void RegistrationEnabled_QueryTimeIsBeforeStartDate_ReturnsFalse() |
|
{ |
|
// Arrange |
|
var hub = new GlobalSettings.NotificationHubSettings() |
|
{ |
|
ConnectionString = "connection", |
|
HubName = "hub", |
|
RegistrationStartDate = DateTime.UtcNow.AddDays(1), |
|
RegistrationEndDate = DateTime.UtcNow.AddDays(2) |
|
}; |
|
var connection = NotificationHubConnection.From(hub); |
|
|
|
// Act |
|
var result = connection.RegistrationEnabled(DateTime.UtcNow); |
|
|
|
// Assert |
|
Assert.False(result); |
|
} |
|
|
|
[Fact] |
|
public void RegistrationEnabled_QueryTimeIsAfterEndDate_ReturnsFalse() |
|
{ |
|
// Arrange |
|
var hub = new GlobalSettings.NotificationHubSettings() |
|
{ |
|
ConnectionString = "connection", |
|
HubName = "hub", |
|
RegistrationStartDate = DateTime.UtcNow, |
|
RegistrationEndDate = DateTime.UtcNow.AddDays(1) |
|
}; |
|
var connection = NotificationHubConnection.From(hub); |
|
|
|
// Act |
|
var result = connection.RegistrationEnabled(DateTime.UtcNow.AddDays(2)); |
|
|
|
// Assert |
|
Assert.False(result); |
|
} |
|
|
|
[Fact] |
|
public void RegistrationEnabled_NullStartDate_ReturnsFalse() |
|
{ |
|
// Arrange |
|
var hub = new GlobalSettings.NotificationHubSettings() |
|
{ |
|
ConnectionString = "connection", |
|
HubName = "hub", |
|
RegistrationStartDate = null, |
|
RegistrationEndDate = DateTime.UtcNow.AddDays(1) |
|
}; |
|
var connection = NotificationHubConnection.From(hub); |
|
|
|
// Act |
|
var result = connection.RegistrationEnabled(DateTime.UtcNow); |
|
|
|
// Assert |
|
Assert.False(result); |
|
} |
|
|
|
[Fact] |
|
public void RegistrationEnabled_QueryTimeIsBetweenStartDateAndEndDate_ReturnsTrue() |
|
{ |
|
// Arrange |
|
var hub = new GlobalSettings.NotificationHubSettings() |
|
{ |
|
ConnectionString = "connection", |
|
HubName = "hub", |
|
RegistrationStartDate = DateTime.UtcNow, |
|
RegistrationEndDate = DateTime.UtcNow.AddDays(1) |
|
}; |
|
var connection = NotificationHubConnection.From(hub); |
|
|
|
// Act |
|
var result = connection.RegistrationEnabled(DateTime.UtcNow.AddHours(1)); |
|
|
|
// Assert |
|
Assert.True(result); |
|
} |
|
|
|
[Fact] |
|
public void RegistrationEnabled_CombTimeIsBeforeStartDate_ReturnsFalse() |
|
{ |
|
// Arrange |
|
var hub = new GlobalSettings.NotificationHubSettings() |
|
{ |
|
ConnectionString = "connection", |
|
HubName = "hub", |
|
RegistrationStartDate = DateTime.UtcNow.AddDays(1), |
|
RegistrationEndDate = DateTime.UtcNow.AddDays(2) |
|
}; |
|
var connection = NotificationHubConnection.From(hub); |
|
|
|
// Act |
|
var result = connection.RegistrationEnabled(CoreHelpers.GenerateComb(Guid.NewGuid(), DateTime.UtcNow)); |
|
|
|
// Assert |
|
Assert.False(result); |
|
} |
|
|
|
[Fact] |
|
public void RegistrationEnabled_CombTimeIsAfterEndDate_ReturnsFalse() |
|
{ |
|
// Arrange |
|
var hub = new GlobalSettings.NotificationHubSettings() |
|
{ |
|
ConnectionString = "connection", |
|
HubName = "hub", |
|
RegistrationStartDate = DateTime.UtcNow, |
|
RegistrationEndDate = DateTime.UtcNow.AddDays(1) |
|
}; |
|
var connection = NotificationHubConnection.From(hub); |
|
|
|
// Act |
|
var result = connection.RegistrationEnabled(CoreHelpers.GenerateComb(Guid.NewGuid(), DateTime.UtcNow.AddDays(2))); |
|
|
|
// Assert |
|
Assert.False(result); |
|
} |
|
|
|
[Fact] |
|
public void RegistrationEnabled_CombTimeIsBetweenStartDateAndEndDate_ReturnsTrue() |
|
{ |
|
// Arrange |
|
var hub = new GlobalSettings.NotificationHubSettings() |
|
{ |
|
ConnectionString = "connection", |
|
HubName = "hub", |
|
RegistrationStartDate = DateTime.UtcNow, |
|
RegistrationEndDate = DateTime.UtcNow.AddDays(1) |
|
}; |
|
var connection = NotificationHubConnection.From(hub); |
|
|
|
// Act |
|
var result = connection.RegistrationEnabled(CoreHelpers.GenerateComb(Guid.NewGuid(), DateTime.UtcNow.AddHours(1))); |
|
|
|
// Assert |
|
Assert.True(result); |
|
} |
|
}
|
|
|