示例#1
0
        private static IStreamingEndpoint CreateAndStartStreamingEndpoint(string streamingEndpointName)
        {
            // A single Media Services account can have multiple Streaming Endpoints.
            // You may want to have multiple Streaming Endpoints if you want to have different
            // configurations for each (for example, security settings, cross site access policies, scale units, etc.)
            // or if you want to separate your Video on Demand (VOD) and Live streaming.

            var options = new StreamingEndpointCreationOptions
            {
                Name          = streamingEndpointName,
                ScaleUnits    = 1,
                AccessControl = new StreamingEndpointAccessControl
                {
                    IPAllowList = new List <IPRange>
                    {
                        new IPRange
                        {
                            Name               = "Public Internet",
                            Address            = IPAddress.Parse("0.0.0.0"),
                            SubnetPrefixLength = 0
                        }
                    }
                },
                CacheControl = new StreamingEndpointCacheControl
                {
                    MaxAge = TimeSpan.FromSeconds(1000)
                }
            };

            var streamingEndpoint = _context.StreamingEndpoints.Create(options);

            streamingEndpoint.Start();

            return(streamingEndpoint);
        }
        public void StreamingEndpointVerifyCDNEnabledFlag()
        {
            var name   = "StreamingEndpoint" + DateTime.UtcNow.ToString("hhmmss");
            var option = new StreamingEndpointCreationOptions(name, 1)
            {
                CdnEnabled = true
            };
            var streamingEndpoint = _mediaContext.StreamingEndpoints.Create(option);
            var createdToValidate = _mediaContext.StreamingEndpoints.Where(c => c.Id == streamingEndpoint.Id).FirstOrDefault();

            Assert.IsNotNull(createdToValidate);
            Assert.AreEqual(true, createdToValidate.CdnEnabled);
            streamingEndpoint.Delete();
            name = "CDNDisabled" + DateTime.UtcNow.ToString("hhmmss");
            var disabledOption = new StreamingEndpointCreationOptions(name, 1)
            {
                CdnEnabled = false
            };

            streamingEndpoint = _mediaContext.StreamingEndpoints.Create(disabledOption);
            createdToValidate = _mediaContext.StreamingEndpoints.Where(c => c.Id == streamingEndpoint.Id).FirstOrDefault();
            Assert.IsNotNull(createdToValidate);
            Assert.AreEqual(false, createdToValidate.CdnEnabled);
            streamingEndpoint.Delete();
        }
示例#3
0
        public static void CreateStreamingEndpoint()
        {
            const string cdnProfileName = "XamCamCDNProfile";

            switch (CloudMediaContext.StreamingEndpoints.Where(x => x.CdnProfile.Equals(cdnProfileName)).Count() > 0)
            {
            case false:
                var streamingEndpointOptions = new StreamingEndpointCreationOptions(cdnStreamingEndpointName, 1)
                {
                    StreamingEndpointVersion = new Version("2.0"),
                    CdnEnabled  = true,
                    CdnProfile  = cdnProfileName,
                    CdnProvider = CdnProviderType.StandardAkamai,
                };

                CloudMediaContext.StreamingEndpoints.Create(streamingEndpointOptions);
                break;
            }

            switch (CloudMediaContext.StreamingEndpoints.FirstOrDefault()?.State)
            {
            case StreamingEndpointState.Stopped:
                CloudMediaContext.StreamingEndpoints.FirstOrDefault()?.Start();
                break;
            }
        }
示例#4
0
        public async Task <IStreamingEndpoint> CreateStreamingEndpoint()
        {
            IStreamingEndpoint streamingEndpoint;

            if (!_cloudMediaContext.StreamingEndpoints.Any(x => x.CdnProfile.Equals(_azureMediaServiceCdnProfileName)))
            {
                var streamingEndpointOptions = new StreamingEndpointCreationOptions(_azureMediaServiceCdnEndpointName, 1)
                {
                    StreamingEndpointVersion = new Version("2.0"),
                    CdnEnabled  = true,
                    CdnProfile  = _azureMediaServiceCdnProfileName,
                    CdnProvider = CdnProviderType.StandardAkamai
                };

                streamingEndpoint = await _cloudMediaContext.StreamingEndpoints.CreateAsync(streamingEndpointOptions).ConfigureAwait(false);
            }
            else
            {
                streamingEndpoint = _cloudMediaContext.StreamingEndpoints.First(x => x.Name.Equals(_azureMediaServiceCdnEndpointName));
            }


            if (streamingEndpoint.State is StreamingEndpointState.Stopped)
            {
                await streamingEndpoint.StartAsync().ConfigureAwait(false);
            }

            return(streamingEndpoint);
        }
        public void StreamingEndpointVerifyDefaultCdnOptions()
        {
            var name   = "StreamingEndpoint" + DateTime.UtcNow.ToString("hhmmss");
            var option = new StreamingEndpointCreationOptions(name, 1)
            {
                CdnEnabled = true
            };

            var streamingEndpoint = _mediaContext.StreamingEndpoints.Create(option);
            var createdToValidate = _mediaContext.StreamingEndpoints.Where(c => c.Id == streamingEndpoint.Id).FirstOrDefault();

            Assert.IsNotNull(createdToValidate);
            Assert.AreEqual(createdToValidate.CdnProvider, CdnProviderType.StandardVerizon.ToString());
            Assert.AreEqual(createdToValidate.CdnProfile, StreamingEndpointCreationOptions.DefaultCdnProfile);
            Assert.AreEqual(new Version("2.0").ToString(), createdToValidate.StreamingEndpointVersion);
            Assert.IsNotNull(createdToValidate.FreeTrialEndTime);

            createdToValidate.CdnProfile  = "newTestcdnProfile";
            createdToValidate.CdnProvider = CdnProviderType.PremiumVerizon.ToString();
            createdToValidate.Update();

            createdToValidate = _mediaContext.StreamingEndpoints.Where(c => c.Id == streamingEndpoint.Id).FirstOrDefault();
            Assert.AreEqual(createdToValidate.CdnProvider, CdnProviderType.PremiumVerizon.ToString());
            Assert.AreEqual(createdToValidate.CdnProfile, "newTestcdnProfile");

            streamingEndpoint.Delete();
        }
 public void StreamingEndpointCreateStartStopDelete()
 {
     var name = "StreamingEndpoint" + DateTime.UtcNow.ToString("hhmmss");
     var option = new StreamingEndpointCreationOptions(name, 1);
     var streamingEndpoint = _mediaContext.StreamingEndpoints.Create(option);
     Assert.IsNotNull(streamingEndpoint);
     streamingEndpoint.Start();
     Assert.AreEqual(StreamingEndpointState.Running,streamingEndpoint.State);
     streamingEndpoint.Stop();
     Assert.AreEqual(StreamingEndpointState.Stopped, streamingEndpoint.State);
     streamingEndpoint.Delete();
     var deleted = _mediaContext.StreamingEndpoints.Where(c => c.Id == streamingEndpoint.Id).FirstOrDefault();
     Assert.IsNull(deleted);
 }
        public void StreamingEndpointCreateStartStopDelete()
        {
            var name              = "StreamingEndpoint" + DateTime.UtcNow.ToString("hhmmss");
            var option            = new StreamingEndpointCreationOptions(name, 1);
            var streamingEndpoint = _mediaContext.StreamingEndpoints.Create(option);

            Assert.IsNotNull(streamingEndpoint);
            streamingEndpoint.Start();
            Assert.AreEqual(StreamingEndpointState.Running, streamingEndpoint.State);
            streamingEndpoint.Stop();
            Assert.AreEqual(StreamingEndpointState.Stopped, streamingEndpoint.State);
            streamingEndpoint.Delete();
            var deleted = _mediaContext.StreamingEndpoints.Where(c => c.Id == streamingEndpoint.Id).FirstOrDefault();

            Assert.IsNull(deleted);
        }
示例#8
0
        public static IStreamingEndpoint CreateAndStartStreamingEndpoint()
        {
            var options = new StreamingEndpointCreationOptions
            {
                Name          = StreamingEndpointName,
                ScaleUnits    = 1,
                AccessControl = GetAccessControl(),
                CacheControl  = GetCacheControl()
            };

            IStreamingEndpoint streamingEndpoint = _context.StreamingEndpoints.Create(options);

            streamingEndpoint.Start();

            return(streamingEndpoint);
        }
        public void StreamingEndpointVerifyCdnOptions()
        {
            var name   = "StreamingEndpoint" + DateTime.UtcNow.ToString("hhmmss");
            var option = new StreamingEndpointCreationOptions(name, 1)
            {
                CdnEnabled  = true,
                CdnProfile  = "testCdnProfile",
                CdnProvider = CdnProviderType.PremiumVerizon,
                StreamingEndpointVersion = new Version("2.0")
            };
            var streamingEndpoint = _mediaContext.StreamingEndpoints.Create(option);
            var createdToValidate = _mediaContext.StreamingEndpoints.Where(c => c.Id == streamingEndpoint.Id).FirstOrDefault();

            Assert.IsNotNull(createdToValidate);
            Assert.AreEqual(true, createdToValidate.CdnEnabled);
            Assert.AreEqual(option.CdnProfile, createdToValidate.CdnProfile);
            Assert.AreEqual(option.CdnProvider.ToString(), createdToValidate.CdnProvider);
            Assert.AreEqual(new Version("2.0").ToString(), createdToValidate.StreamingEndpointVersion);
            Assert.IsNotNull(createdToValidate.FreeTrialEndTime);

            var updateProfile = "UpdatedProfile";

            streamingEndpoint.CdnEnabled = false;
            streamingEndpoint.CdnProfile = updateProfile;
            streamingEndpoint.Update();

            createdToValidate = _mediaContext.StreamingEndpoints.Where(c => c.Id == streamingEndpoint.Id).FirstOrDefault();
            Assert.AreEqual(false, createdToValidate.CdnEnabled);
            Assert.IsTrue(string.Equals(updateProfile, createdToValidate.CdnProfile));

            streamingEndpoint.Delete();
            name = "CDNDisabled" + DateTime.UtcNow.ToString("hhmmss");
            var disabledOption = new StreamingEndpointCreationOptions(name, 1)
            {
                CdnEnabled = false
            };

            streamingEndpoint = _mediaContext.StreamingEndpoints.Create(disabledOption);
            createdToValidate = _mediaContext.StreamingEndpoints.Where(c => c.Id == streamingEndpoint.Id).FirstOrDefault();
            Assert.IsNotNull(createdToValidate);
            Assert.AreEqual(false, createdToValidate.CdnEnabled);
            streamingEndpoint.Delete();
        }
        public void CdnSettingsTest()
        {
            var dataContextMock       = new Mock <IMediaDataServiceContext>();
            var streamingEndpointMock = new Mock <IStreamingEndpoint>();

            var originCreationOptions = new StreamingEndpointCreationOptions("unittest", 1)
            {
                CdnEnabled  = true,
                CdnProfile  = "testCdnProfile",
                CdnProvider = CdnProviderType.StandardAkamai,
                StreamingEndpointVersion = new Version("1.0")
            };
            var fakeResponse = new TestMediaDataServiceResponse(new Dictionary <string, string>
            {
                { StreamingConstants.OperationIdHeader, "" }
            })
            {
                AsyncState = new TestStreamingEndpointData(originCreationOptions)
            };

            dataContextMock.Setup(ctxt => ctxt.AddObject("StreamingEndpoints", It.IsAny <object>()));
            dataContextMock.Setup(ctxt => ctxt.SaveChangesAsync(It.IsAny <object>()))
            .Returns(() => Task <IMediaDataServiceResponse> .Factory.StartNew(() => fakeResponse));
            dataContextMock.Setup(ctxt => ctxt.Execute <OperationData>(It.IsAny <Uri>()))
            .Returns(() => new List <OperationData> {
                new OperationData {
                    State = OperationState.Succeeded.ToString()
                }
            });

            _mediaContext.MediaServicesClassFactory = new TestMediaServicesClassFactory(dataContextMock.Object);

            var actual = _mediaContext.StreamingEndpoints.Create(originCreationOptions);

            dataContextMock.Verify(ctxt => ctxt.SaveChangesAsync(It.IsAny <object>()), Times.Exactly(1));

            Assert.AreEqual(originCreationOptions.Name, actual.Name);
            Assert.AreEqual(originCreationOptions.ScaleUnits, actual.ScaleUnits);
            Assert.AreEqual(originCreationOptions.CdnEnabled, actual.CdnEnabled);
            Assert.AreEqual(originCreationOptions.CdnProvider.ToString(), actual.CdnProvider);
            Assert.AreEqual(originCreationOptions.CdnProfile, actual.CdnProfile);
            Assert.AreEqual(originCreationOptions.StreamingEndpointVersion.ToString(), actual.StreamingEndpointVersion);
        }
 public TestStreamingEndpointData(StreamingEndpointCreationOptions options) : base(options)
 {
 }
 public void StreamingEndpointVerifyCDNEnabledFlag()
 {
     var name = "StreamingEndpoint" + DateTime.UtcNow.ToString("hhmmss");
     var option = new StreamingEndpointCreationOptions(name, 1)
     {
         CdnEnabled = true
     };
     var streamingEndpoint = _mediaContext.StreamingEndpoints.Create(option);
     var createdToValidate = _mediaContext.StreamingEndpoints.Where(c => c.Id == streamingEndpoint.Id).FirstOrDefault();
     Assert.IsNotNull(createdToValidate);
     Assert.AreEqual(true, createdToValidate.CdnEnabled);
     streamingEndpoint.Delete();
     name = "CDNDisabled" + DateTime.UtcNow.ToString("hhmmss");
     var disabledOption = new StreamingEndpointCreationOptions(name, 1)
     {
         CdnEnabled = false
     };
     streamingEndpoint = _mediaContext.StreamingEndpoints.Create(disabledOption);
     createdToValidate = _mediaContext.StreamingEndpoints.Where(c => c.Id == streamingEndpoint.Id).FirstOrDefault();
     Assert.IsNotNull(createdToValidate);
     Assert.AreEqual(false, createdToValidate.CdnEnabled);
     streamingEndpoint.Delete();
 }