Exemplo n.º 1
0
        public void HangoutsChatConnector_GetAddressSkipError()
        {
            var space1 = new Space {
                Name = "spaces/A", Type = "DM"
            };
            var space2 = new Space {
                Name = "spaces/B", Type = "GM"
            };
            var space3 = new Space {
                Name = "spaces/C", Type = "DM"
            };
            var requestCretor      = Substitute.For <HangoutsChatConnector.IRequestCreator>();
            var spacesListRequest  = Substitute.For <IClientServiceRequest <ListSpacesResponse> >();
            var spacesListResponse = new ListSpacesResponse {
                Spaces = new[] { space1, space2, space3 }
            };
            var membersListRequest = Substitute.For <IClientServiceRequest <ListMembershipsResponse> >();

            requestCretor.SpacesList(null).ReturnsForAnyArgs(spacesListRequest);
            requestCretor.SpacesMembersList(null, null).ReturnsForAnyArgs(membersListRequest);
            spacesListRequest.Execute().Returns(spacesListResponse);
            membersListRequest.Execute().Throws(new Exception());

            var connector = new HangoutsChatConnector(new Lazy <HangoutsChatService>(() => null));

            connector.RequestCreator = requestCretor;

            // Act
            var result = connector.GetPrivateAddress(new[] { "spaces/A" });

            // Test
            Assert.AreEqual(1, result.Count);
            Assert.AreEqual("spaces/C", result[0].Space.Name);
            Assert.IsNull(result[0].Sender.Name);
        }
Exemplo n.º 2
0
        public void HangoutsChatConnector_GetAddress()
        {
            var space = new Space {
                Name = "spaces/D", Type = "DM"
            };
            var membership1 = new Membership {
                Member = new User {
                    Name = "user/Q", DisplayName = "Q", Type = "HUMAN"
                }
            };
            var membership2 = new Membership {
                Member = new User {
                    Name = "user/W", DisplayName = "W", Type = "BOT"
                }
            };
            var requestCretor      = Substitute.For <HangoutsChatConnector.IRequestCreator>();
            var spacesListRequest  = Substitute.For <IClientServiceRequest <ListSpacesResponse> >();
            var spacesListResponse = new ListSpacesResponse {
                Spaces = new[] { space }
            };
            var membersListRequest  = Substitute.For <IClientServiceRequest <ListMembershipsResponse> >();
            var membersListResponse = new ListMembershipsResponse {
                Memberships = new[] { membership1, membership2 }
            };

            requestCretor.SpacesList(null).ReturnsForAnyArgs(spacesListRequest);
            requestCretor.SpacesMembersList(null, null).ReturnsForAnyArgs(membersListRequest);
            spacesListRequest.Execute().Returns(spacesListResponse);
            membersListRequest.Execute().Returns(membersListResponse);

            var connector = new HangoutsChatConnector(new Lazy <HangoutsChatService>(() => null));

            connector.RequestCreator = requestCretor;

            // Act
            var result2 = connector.GetPrivateAddress(new string[0]);

            // Test
            Assert.AreEqual(1, result2.Count);
            Assert.AreEqual("spaces/D", result2[0].Space.Name);
            Assert.AreEqual("user/Q", result2[0].Sender.Name);
        }