Exemple #1
0
        public async void TestDownload()
        {
            var context  = new MockContext <IHttp>();
            var response = new HttpResponseMessage
            {
                Content = new StringContent("1234", Encoding.UTF8, "text/plain")
            };

            context.Arrange(
                m =>
                m.SendAsync(The <HttpRequestMessage> .Is(r => IsValidDownloadRequest(r)), HttpCompletionOption.ResponseContentRead,
                            null)).Returns(Task.FromResult(response));
            var api = Helpers.GetClient(context).Media;

            using (var data = await api.DownloadAsync("file"))
            {
                Assert.Equal("text/plain", data.ContentType);
                Assert.Equal(4, data.ContentLength);
                Assert.Equal("1234", await data.ReadAsStringAsync());
                Assert.Equal("1234", Encoding.UTF8.GetString(await data.ReadAsByteArrayAsync()));
                using (var reader = new StreamReader(await data.ReadAsStreamAsync(), Encoding.UTF8))
                {
                    Assert.Equal("1234", await reader.ReadToEndAsync());
                }
            }
        }
Exemple #2
0
        public async void GetOrCreateLocalAsyncTest()
        {
            var context = new MockContext <IPhoneNumber>();
            var availableNumberContext = new MockContext <IAvailableNumber>();

            context.Arrange(m => m.List(The <PhoneNumberQuery> .Is(q => q.Size.Value == 1000 && q.ApplicationId == "appId" && q.Name == "name"), null)).Returns(new PhoneNumber[0]);
            context.Arrange(m => m.UpdateAsync("phoneNumberId", The <UpdatePhoneNumberData> .Is(d => d.ApplicationId == "appId" && d.Name == "name"), null)).Returns(Task.FromResult(0));
            availableNumberContext.Arrange(m => m.SearchAndOrderLocalAsync(The <LocalNumberQueryForOrder> .Is(q => q.AreaCode == "910" && q.Quantity.Value == 1), null)).Returns(Task.FromResult(
                                                                                                                                                                                     new[]
            {
                new OrderedNumber
                {
                    Number   = "+1234567890",
                    Location = "http://lovalhost/phoneNumberId"
                }
            }
                                                                                                                                                                                     ));
            var phoneNumber = new MockPhoneNumber(context);
            var number      = await phoneNumber.GetOrCreateLocalAsync(new MockAvailableNumber(availableNumberContext), "appId", new LocalNumberQueryForOrder
            {
                AreaCode = "910"
            }, "name", null);

            Assert.Equal("+1234567890", number);
        }
Exemple #3
0
        public async void TestUploadPath()
        {
            var context = new MockContext <IHttp>();

            context.Arrange(
                m =>
                m.SendAsync(The <HttpRequestMessage> .Is(r => IsValidUploadRequest(r)), HttpCompletionOption.ResponseContentRead,
                            null)).Returns(Task.FromResult(new HttpResponseMessage()));
            var api  = Helpers.GetClient(context).Media;
            var path = Path.GetTempFileName();

            try
            {
                File.WriteAllText(path, "1234");
                await api.UploadAsync(new UploadMediaFileData
                {
                    MediaName   = "file",
                    ContentType = "text/plain",
                    Path        = path
                });
            }
            finally
            {
                File.Delete(path);
            }
        }
        public void Assert_WithValidMatchPredicate_IsVerified()
        {
            var mockContext = new MockContext <IFoo>();
            var fooMock     = new FooMock(mockContext);

            fooMock.Execute("SomeValue");
            mockContext.Assert(f => f.Execute(The <string> .Is(s => s.StartsWith("Some"))), Invoked.Once);
        }
Exemple #5
0
        public static async void TestMute()
        {
            var context    = new MockContext <IConference>();
            var conference = new Mocks.Conference(context);

            context.Arrange(m => m.UpdateAsync("conferenceId", The <UpdateConferenceData> .Is(r => r.Mute), null)).Returns(Task.FromResult(new HttpResponseMessage()));
            await conference.MuteAsync("conferenceId", true);
        }
        public static async void TestHangup()
        {
            var context = new MockContext <ICall>();
            var call    = new Mocks.Call(context);

            context.Arrange(m => m.UpdateAsync("id", The <UpdateCallData> .Is(d => d.State == CallState.Completed), null, true)).Returns(Task.FromResult(new HttpResponseMessage()));
            await call.HangupAsync("id");
        }
        public static async void TestTurnCallRecording()
        {
            var context = new MockContext <ICall>();
            var call    = new Mocks.Call(context);

            context.Arrange(m => m.UpdateAsync("id", The <UpdateCallData> .Is(d => d.RecordingEnabled), null, true)).Returns(Task.FromResult(new HttpResponseMessage()));
            await call.TurnCallRecordingAsync("id", true);
        }
        public void Assert_WithInvalidMatchPredicate_ThrowsException()
        {
            var mockContext = new MockContext <IFoo>();
            var fooMock     = new FooMock(mockContext);

            fooMock.Execute("SomeValue");
            mockContext.Assert(f => f.Execute(The <string> .Is(s => s == "AnotherValue")), Invoked.Once);
        }
Exemple #9
0
        public static async void TestDeleteMember()
        {
            var context    = new MockContext <IConference>();
            var conference = new Mocks.Conference(context);

            context.Arrange(m => m.UpdateMemberAsync("conferenceId", "memberId", The <UpdateConferenceMemberData> .Is(r => r.State == ConferenceMemberState.Completed), null)).Returns(Task.FromResult(new HttpResponseMessage()));
            await conference.DeleteMemberAsync("conferenceId", "memberId");
        }
        public async void TestPlayAudioFile()
        {
            var context = new MockContext <IPlayAudio>();

            context.Arrange(m => m.PlayAudioAsync("id", The <PlayAudioData> .Is(d => IsValidPlayAudioFileData(d)), null))
            .Returns(Task.FromResult(0));
            var instance = new PlayAudio(context);
            await instance.PlayAudioFileAsync("id", "url");
        }
Exemple #11
0
        public void ListAllTest()
        {
            var context = new MockContext <IApplication>();

            context.Arrange(m => m.List(The <ApplicationQuery> .Is(q => q.Size.Value == 1000), null)).Returns(new Application[1]);
            var application = new MockApplication(context);
            var items       = application.ListAll();

            Assert.Equal(1, items.Count());
        }
Exemple #12
0
        public void GetByNameTest()
        {
            var context = new MockContext <IPhoneNumber>();

            context.Arrange(m => m.List(The <PhoneNumberQuery> .Is(q => q.Size.Value == 1000 && q.ApplicationId == "appId" && q.Name == "name"), null)).Returns(new [] { new PhoneNumber() });
            var phoneNumber = new MockPhoneNumber(context);
            var item        = phoneNumber.GetByName("appId", "name");

            Assert.NotNull(item);
        }
Exemple #13
0
        public void ListAllForApplicationTest()
        {
            var context = new MockContext <IPhoneNumber>();

            context.Arrange(m => m.List(The <PhoneNumberQuery> .Is(q => q.Size.Value == 1000 && q.ApplicationId == "appId"), null)).Returns(new PhoneNumber[1]);
            var phoneNumber = new MockPhoneNumber(context);
            var items       = phoneNumber.ListAllForApplication("appId");

            Assert.Equal(1, items.Count());
        }
Exemple #14
0
        public void ListAllTest()
        {
            var context = new MockContext <IDomain>();

            context.Arrange(m => m.List(The <DomainQuery> .Is(q => q.Size == 100), null)).Returns(new Domain[1]);
            var domain = new MockDomain(context);
            var items  = domain.ListAll();

            Assert.Equal(1, items.Count());
        }
        public void ListAllTest()
        {
            var context = new MockContext <IEndpoint>();

            context.Arrange(m => m.List("domainId", The <EndpointQuery> .Is(q => q.Size.Value == 1000), null)).Returns(new Endpoint[1]);
            var endpoint = new MockEndpoint(context);
            var items    = endpoint.ListAll("domainId");

            Assert.Equal(1, items.Count());
        }
        public async void TestUpdate()
        {
            var context = new MockContext <IHttp>();

            context.Arrange(
                m =>
                m.SendAsync(The <HttpRequestMessage> .Is(r => IsValidUpdateRequest(r)), HttpCompletionOption.ResponseContentRead,
                            null)).Returns(Task.FromResult(new HttpResponseMessage()));
            var api = Helpers.GetClient(context).PhoneNumber;
            await api.UpdateAsync("id", new UpdatePhoneNumberData { ApplicationId = "applicationId" });
        }
Exemple #17
0
        public async void TestPatch()
        {
            var context = new MockContext <IHttp>();

            context.Arrange(
                m =>
                m.SendAsync(The <HttpRequestMessage> .Is(r => IsValidPatchRequest(r)), HttpCompletionOption.ResponseContentRead,
                            null)).Returns(Task.FromResult(new HttpResponseMessage()));
            var api = Helpers.GetClient(context).Message;
            await api.PatchAsync("id", new PatchMessageData { Text = "" });
        }
Exemple #18
0
        public async void GetOrCreateAsyncTest3()
        {
            var context = new MockContext <IApplication>();

            context.Arrange(m => m.List(The <ApplicationQuery> .IsAnyValue, null)).Returns(new Application[0]);
            context.Arrange(m => m.CreateAsync(The <CreateApplicationData> .Is(q => q.IncomingCallUrl == "https://localhost/bandwidth/callback/call"), null)).Returns(Task.FromResult("appId4"));
            var application = new MockApplication(context);
            var id          = await application.GetOrCreateAsync("app", "localhost");

            Assert.Equal("appId4", id);
        }
        public async void TestSendDtmfAsync()
        {
            var context = new MockContext <IHttp>();

            context.Arrange(
                m =>
                m.SendAsync(The <HttpRequestMessage> .Is(r => IsValidSendDtmfRequest(r)), HttpCompletionOption.ResponseContentRead,
                            null)).Returns(Task.FromResult(new HttpResponseMessage()));
            var api = Helpers.GetClient(context).Call;
            await api.SendDtmfAsync("id", new SendDtmfData { DtmfOut = "1" });
        }
Exemple #20
0
        public async void TestPlayAudio()
        {
            var context = new MockContext <IHttp>();

            context.Arrange(
                m =>
                m.SendAsync(The <HttpRequestMessage> .Is(r => IsValidPlayAudioRequest(r)), HttpCompletionOption.ResponseContentRead,
                            null)).Returns(Task.FromResult(new HttpResponseMessage()));
            var api = Helpers.GetClient(context).Conference;
            await api.PlayAudioAsync("id", new PlayAudioData { FileUrl = "url" });
        }
        public async void TestUpdate()
        {
            var context = new MockContext <IHttp>();

            context.Arrange(
                m =>
                m.SendAsync(The <HttpRequestMessage> .Is(r => IsValidUpdateRequest(r)), HttpCompletionOption.ResponseContentRead,
                            null)).Returns(Task.FromResult(new HttpResponseMessage()));
            var api = Helpers.GetClient(context).Endpoint;
            await api.UpdateAsync("domainId", "id", new UpdateEndpointData { Enabled = false });
        }
Exemple #22
0
        public async void TestUpdate()
        {
            var context = new MockContext <IHttp>();

            context.Arrange(
                m =>
                m.SendAsync(The <HttpRequestMessage> .Is(r => IsValidUpdateRequest(r)), HttpCompletionOption.ResponseContentRead,
                            null)).Returns(Task.FromResult(new HttpResponseMessage()));
            var api = Helpers.GetClient(context).Conference;
            await api.UpdateAsync("id", new UpdateConferenceData { State = ConferenceState.Completed });
        }
Exemple #23
0
        public async void GetOrCreateAsyncTest2()
        {
            var context = new MockContext <IDomain>();

            context.Arrange(m => m.List(The <DomainQuery> .IsAnyValue, null)).Returns(new Domain[0]);
            context.Arrange(m => m.CreateAsync(The <CreateDomainData> .Is(q => q.Name == "domain"), null)).Returns(Task.FromResult("domainId3"));
            var domain = new MockDomain(context);
            var id     = await domain.GetOrCreateAsync("domain");

            Assert.Equal("domainId3", id);
        }
        public async void TestDelete()
        {
            var context = new MockContext <IHttp>();

            context.Arrange(
                m =>
                m.SendAsync(The <HttpRequestMessage> .Is(r => IsValidDeleteRequest(r)), HttpCompletionOption.ResponseContentRead,
                            null)).Returns(Task.FromResult(new HttpResponseMessage()));
            var api = Helpers.GetClient(context).Application;
            await api.DeleteAsync("id");
        }
Exemple #25
0
        public async void TestMakeJsonWithoutRequestRequest()
        {
            var context = new MockContext <IHttp>();
            var api     = Helpers.GetClient(context);

            context.Arrange(
                m =>
                m.SendAsync(The <HttpRequestMessage> .Is(r => IsValidRequestWithoutBody(r)),
                            HttpCompletionOption.ResponseContentRead, null))
            .Returns(Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK)));
            await api.MakeJsonRequestWithoutResponseAsync(HttpMethod.Get, "/test");
        }
        public async void TestCreateMessagingApplicationAsync()
        {
            var authData = new IrisAuthData
            {
                AccountId    = "AccountId",
                UserName     = "******",
                Password     = "******",
                SubaccountId = "SubaccountId"
            };
            var context = new MockContext <IHttp>();
            var api     = Helpers.GetClient(context).V2.Message;

            context.Arrange(m => m.SendAsync(The <HttpRequestMessage> .Is(r => IsValidCreateApplicationRequest(r)),
                                             HttpCompletionOption.ResponseContentRead,
                                             null)).Returns(Task.FromResult(new HttpResponseMessage
            {
                Content = Helpers.GetXmlContent("CreateMessagingApplicationResponse")
            }));
            var response = new HttpResponseMessage();

            response.Headers.Location = new Uri("http://localhost/LocationId");
            context.Arrange(m => m.SendAsync(The <HttpRequestMessage> .Is(r => IsValidCreateLocationRequest(r)),
                                             HttpCompletionOption.ResponseContentRead,
                                             null)).Returns(Task.FromResult(response));
            context.Arrange(m => m.SendAsync(The <HttpRequestMessage> .Is(r => IsEnableSms(r)),
                                             HttpCompletionOption.ResponseContentRead,
                                             null)).Returns(Task.FromResult(new HttpResponseMessage()));
            context.Arrange(m => m.SendAsync(The <HttpRequestMessage> .Is(r => IsEnableMms(r)),
                                             HttpCompletionOption.ResponseContentRead,
                                             null)).Returns(Task.FromResult(new HttpResponseMessage()));
            context.Arrange(m => m.SendAsync(The <HttpRequestMessage> .Is(r => IsAssignApplicationToLocationRequest(r)),
                                             HttpCompletionOption.ResponseContentRead,
                                             null)).Returns(Task.FromResult(new HttpResponseMessage()));

            var application = await api.CreateMessagingApplicationAsync(authData, new CreateMessagingApplicationData
            {
                Name         = "App1",
                CallbackUrl  = "url",
                LocationName = "Location1",
                SmsOptions   = new SmsOptions
                {
                    TollFreeEnabled = true
                },
                MmsOptions = new MmsOptions
                {
                    Enabled = true
                }
            });

            Assert.Equal("ApplicationId", application.ApplicationId);
            Assert.Equal("LocationId", application.LocationId);
        }
        public void Execute_ArrangedRuturnValue_ArrayElementContraintSupport()
        {
            var mockContext = new MockContext <IFoo>();
            var fooMock     = new FooMock(mockContext);
            var inputData   = new byte[] { 1, 2, 3, 4, 5 };

            mockContext.Arrange(
                f => f.Execute(The <byte[]> .Is(a => a[4] == 5)))
            .Returns <byte[]>(a => a);
            var result = fooMock.Execute(inputData);

            Assert.Equal(inputData, result);
        }
        public void Execute_ArrangedRuturnValue_ArrayLengthContraintSupport()
        {
            var mockContext = new MockContext <IFoo>();
            var fooMock     = new FooMock(mockContext);
            var inputData   = Enumerable.Repeat((byte)1, 10).ToArray();

            mockContext.Arrange(
                f => f.Execute(The <byte[]> .Is(a => a.Length < 20)))
            .Returns <byte[]>(a => a);
            var result = fooMock.Execute(inputData);

            Assert.Equal(inputData, result);
        }
        public void Subscribe()
        {
            // prepare
            var mock = new Mock <ISystemEventSource>();

            mock.Arrange(f => f.Subscribe(The <INotificationEventObserver> .IsAnyValue));

            // act
            var expected = new NotificationEventProxy(mock.Object);

            // verify
            mock.Assert(f => f.Subscribe(The <INotificationEventObserver> .Is(neo => ReferenceEquals(neo, expected))));
        }
        public static async void TestTransfer()
        {
            var context  = new MockContext <ICall>();
            var response = new HttpResponseMessage(HttpStatusCode.Created);

            response.Headers.Location = new Uri("http://localhost/path/transferedId");
            var call = new Mocks.Call(context);

            context.Arrange(m => m.UpdateAsync("id", The <UpdateCallData> .Is(d => d.State == CallState.Transferring && d.TransferTo == "to"), null, false)).Returns(Task.FromResult(response));
            var callId = await call.TransferAsync("id", "to");

            Assert.Equal("transferedId", callId);
        }