Microsoft.WindowsAzure.MediaServices.Client.Tests.AssetDeliveryPolicyCollectionTest.CreateEnvelopePolicy C# (CSharp) Method

CreateEnvelopePolicy() private method

private CreateEnvelopePolicy ( string name ) : IAssetDeliveryPolicy
name string
return IAssetDeliveryPolicy
        private IAssetDeliveryPolicy CreateEnvelopePolicy(string name)
        {
            string acquisitionUrl = "http://localhost";

            // Waiting for Hex IVs to be enabled in our test environments
            // string envelopeEncryptionIV = GetRandomIV();
            // AssetDeliveryPolicyConfigurationKey envelopeIVKey = AssetDeliveryPolicyConfigurationKey.EnvelopeEncryptionIV;

            AssetDeliveryPolicyConfigurationKey envelopeIVKey = AssetDeliveryPolicyConfigurationKey.EnvelopeEncryptionIVAsBase64;
            string envelopeEncryptionIV = Convert.ToBase64String(GetRandomData(16));
            var configuration = new Dictionary<AssetDeliveryPolicyConfigurationKey, string>
            {
                {AssetDeliveryPolicyConfigurationKey.EnvelopeKeyAcquisitionUrl, acquisitionUrl},
                {envelopeIVKey, envelopeEncryptionIV}
            };

            var result = _mediaContext.AssetDeliveryPolicies.Create(
                name,
                AssetDeliveryPolicyType.DynamicEnvelopeEncryption,
                AssetDeliveryProtocol.HLS | AssetDeliveryProtocol.SmoothStreaming,
                configuration);

            var check = _mediaContext.AssetDeliveryPolicies.Where(p => p.Id == result.Id).AsEnumerable().SingleOrDefault();

            Assert.AreEqual(name, check.Name);
            Assert.AreEqual(acquisitionUrl, check.AssetDeliveryConfiguration[AssetDeliveryPolicyConfigurationKey.EnvelopeKeyAcquisitionUrl]);
            Assert.AreEqual(envelopeEncryptionIV, check.AssetDeliveryConfiguration[envelopeIVKey]);

            return result;
        }