public void Should_get_back_ReceiveOnlyAzureStorageAttachment_for_receive_only_plugin()
        {
            IClientEntity client = new FakeClientEntity("fake", string.Empty, RetryPolicy.Default);

            var registeredPlugin = AzureStorageAttachmentExtensions.RegisterAzureStorageAttachmentPluginForReceivingOnly(client, "mySasUriProperty");

            Assert.Equal(registeredPlugin, client.RegisteredPlugins.First());
            Assert.IsAssignableFrom <ReceiveOnlyAzureStorageAttachment>(registeredPlugin);
        }
        public void Should_get_back_AzureStorageAttachment_for_container_sas_based_configuration()
        {
            IClientEntity client = new FakeClientEntity("fake", string.Empty, RetryPolicy.Default);

            var azureStorageAttachmentConfiguration = new AzureStorageAttachmentConfiguration(new StorageCredentials("?sv=2018-03-28&sr=c&sig=5XxlRKoP4yEmibM2HhJlQuV7MG3rYgQXD89mLpNp%2F24%3D"), "http://127.0.0.1:10000/devstoreaccount1");

            var registeredPlugin = AzureStorageAttachmentExtensions.RegisterAzureStorageAttachmentPlugin(client, azureStorageAttachmentConfiguration);

            Assert.Equal(registeredPlugin, client.RegisteredPlugins.First());
            Assert.IsAssignableFrom <AzureStorageAttachment>(registeredPlugin);
        }
        public void Should_get_back_AzureStorageAttachment_for_connection_string_based_configuration()
        {
            IClientEntity client = new FakeClientEntity("fake", string.Empty, RetryPolicy.Default);

            var azureStorageAttachmentConfiguration = new AzureStorageAttachmentConfiguration(ConnectionString);

            var registeredPlugin = AzureStorageAttachmentExtensions.RegisterAzureStorageAttachmentPlugin(client, azureStorageAttachmentConfiguration);

            Assert.Equal(registeredPlugin, client.RegisteredPlugins.First());
            Assert.IsAssignableFrom <AzureStorageAttachment>(registeredPlugin);
        }
예제 #4
0
        public void Should_get_back_disposable_object_for_full_plugin()
        {
            var client = new FakeClientEntity("fake", string.Empty, RetryPolicy.Default);

            var configuration = new AzureStorageAttachmentConfiguration(
                connectionStringProvider: AzureStorageEmulatorFixture.ConnectionStringProvider, containerName: "attachments", messagePropertyToIdentifyAttachmentBlob: "attachment-id");

            var registeredPlugin = AzureStorageAttachmentExtensions.RegisterAzureStorageAttachmentPlugin(client, configuration);

            Assert.Equal(registeredPlugin, client.RegisteredPlugins.First());
            Assert.IsAssignableFrom <ServiceBusPlugin>(registeredPlugin);
            Assert.IsAssignableFrom <IDisposable>(registeredPlugin);
        }
        public void Should_throw_if_plugin_was_disposed()
        {
            var client = new FakeClientEntity("fake", string.Empty, RetryPolicy.Default);

            var configuration = new AzureStorageAttachmentConfiguration(
                connectionStringProvider: AzureStorageEmulatorFixture.ConnectionStringProvider, containerName: "attachments", messagePropertyToIdentifyAttachmentBlob: "attachment-id");

            var registeredPlugin = AzureStorageAttachmentExtensions.RegisterAzureStorageAttachmentPlugin(client, configuration);

            ((IDisposable)registeredPlugin).Dispose();

            Assert.ThrowsAsync <ObjectDisposedException>(() => registeredPlugin.BeforeMessageSend(null));
            Assert.ThrowsAsync <ObjectDisposedException>(() => registeredPlugin.AfterMessageReceive(null));
        }
        public async Task Should_not_throw_if_plugin_was_not_disposed()
        {
            var client = new FakeClientEntity("fake", string.Empty, RetryPolicy.Default);

            var configuration = new AzureStorageAttachmentConfiguration(
                connectionStringProvider: AzureStorageEmulatorFixture.ConnectionStringProvider, containerName: "attachments", messagePropertyToIdentifyAttachmentBlob: "attachment-id");

            var registeredPlugin = AzureStorageAttachmentExtensions.RegisterAzureStorageAttachmentPlugin(client, configuration);

            var client2 = new FakeClientEntity("fake2", string.Empty, RetryPolicy.Default);

            client2.RegisterPlugin(registeredPlugin);

            var message = new Message(new byte[] {});
            await registeredPlugin.BeforeMessageSend(message);

            await registeredPlugin.AfterMessageReceive(message);
        }