static void Main(string[] args) { // Dependencies. IDateTimeGenerator dateTimeGenerator = new DateTimeGenerator(); ITypeConverter typeConverter = new TypeConverter(); ExternalMechanismFactory externalMechanismFactory = new ExternalMechanismFactory(); SecureConnectionSettings connectionSettings = new SecureConnectionSettings( "raspberrypi", "/path/to/client/certificate.p12", "password"); ExternalAuthConnectionFactory sslAuthConnectionFactory = new ExternalAuthConnectionFactory( "raspberrypi", externalMechanismFactory, connectionSettings); Settings producingSettings = new Settings("Journeys", "journey"); // Generate journey message. Journey journey = new Journey(150, 35.5, 121.3, "Weather was wet and windy."); IMessage <Journey> message = new Message <Journey>(dateTimeGenerator, journey); // Produce the message. using IMessageProducer messageProducer = new MessageProducer(sslAuthConnectionFactory, typeConverter); messageProducer.Produce(producingSettings, message); Console.WriteLine($"Message sent. ID: {message.Data.Id}"); Console.ReadLine(); }
public void ExternalAuthConnectionFactory_WhenHostNameIsNotSupplied_ThenArgumentException(string hostname) { // Arrange SecureConnectionSettings settings = GetSecureConnectionSettings(); ExternalMechanismFactory externalMechanismFactory = new ExternalMechanismFactory(); // Act void instantiation() { ExternalAuthConnectionFactory externalAuthConnectionFactory = new ExternalAuthConnectionFactory( hostname, externalMechanismFactory, settings); } // Assert Assert.Throws <ArgumentException>(instantiation); }
public void ExternalAuthConnectionFactory_WhenConstructed_ThenExternalAuthMechanismSet() { // Arrange string hostname = "127.0.0.1"; SecureConnectionSettings settings = GetSecureConnectionSettings(); ExternalMechanismFactory externalMechanismFactory = new ExternalMechanismFactory(); // Act ExternalAuthConnectionFactory externalAuthConnectionFactory = new ExternalAuthConnectionFactory( hostname, externalMechanismFactory, settings); // Assert Assert.NotNull(externalAuthConnectionFactory.AuthMechanisms); Assert.Single(externalAuthConnectionFactory.AuthMechanisms); Assert.Same(externalMechanismFactory, externalAuthConnectionFactory.AuthMechanisms.First()); }
public void ExternalAuthConnectionFactory_WhenExternalAuthMechanismNotSupplied_ThenArgumentNullException() { // Arrange string hostname = "127.0.0.1"; SecureConnectionSettings settings = GetSecureConnectionSettings(); ExternalMechanismFactory externalMechanismFactory = null; // Act void instantiation() { ExternalAuthConnectionFactory externalAuthConnectionFactory = new ExternalAuthConnectionFactory( hostname, externalMechanismFactory, settings); } // Assert Assert.Throws <ArgumentNullException>(instantiation); }
public void ExternalAuthConnectionFactory_WhenConstructed_ThenDetailsSet() { // Arrange string hostname = "127.0.0.1"; SecureConnectionSettings settings = GetSecureConnectionSettings(); ExternalMechanismFactory externalMechanismFactory = new ExternalMechanismFactory(); // Act ExternalAuthConnectionFactory externalAuthConnectionFactory = new ExternalAuthConnectionFactory( hostname, externalMechanismFactory, settings); // Assert Assert.Equal(hostname, externalAuthConnectionFactory.HostName); Assert.True(externalAuthConnectionFactory.Ssl.Enabled); Assert.Equal(settings.ServerName, externalAuthConnectionFactory.Ssl.ServerName); Assert.Equal(settings.CertPath, externalAuthConnectionFactory.Ssl.CertPath); Assert.Equal(settings.CertPassphrase, externalAuthConnectionFactory.Ssl.CertPassphrase); Assert.Equal(settings.Protocol, externalAuthConnectionFactory.Ssl.Version); }