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;
}