Example #1
0
        public async Task Test_Enqueue_Message_Happy_flow()
        {
            // Init
            var queueMock         = new CloudQueueClientWrapperMock();
            var keyVaultMock      = new DatabaseMock("url");
            var encryptionManager = new KeyVaultCryptoActions(
                new CertificateInfo("emc", string.Empty),
                new CertificateInfo("emc", string.Empty),
                new CertificateInfo("emc", string.Empty),
                new CertificateInfo("emc", string.Empty),
                keyVaultMock,
                keyVaultMock);
            await encryptionManager.InitializeAsync();

            var queueName  = "queueName";
            var azureQueue = new AzureQueue(queueName, queueMock, encryptionManager, true);
            await azureQueue.InitializeAsync();

            // Enqueue message
            var msg = "new message";
            await azureQueue.EnqueueAsync(Communication.Utils.ToByteArray(msg));

            var queueRefernce = queueMock.GetQueueReference(queueName);

            var result = await queueRefernce.GetMessageAsync(TimeSpan.FromSeconds(10),
                                                             new QueueRequestOptions(), new OperationContext());

            var encryptedMessage = Communication.Utils.FromByteArray <Message>(result.AsBytes);

            // String is encrypted, check it value
            Assert.Equal(256, encryptedMessage.Data.Length);
        }