예제 #1
0
        public void TestListUsers()
        {
            var response = new FakeHttpResponse(File.ReadAllText("../../Examples/RoomList.xml"));
            var credentials = new Credentials { ApiToken = "ABC123" };

            Mock<ICredentialService>()
                .Setup(call => call.GetCredentials())
                .Returns(credentials);

            Mock<IHttpService>()
                .Setup(call => call.Get("https://api.hipchat.com/v1/rooms/list?format=xml&auth_token=ABC123"))
                .Returns(response);

            var rooms = service.List();

            Assert.AreEqual(2, rooms.Count);
            Assert.AreEqual(7, rooms[0].Id);
            Assert.AreEqual("Development", rooms[0].Name);
            Assert.AreEqual("Make sure to document your API functions well!", rooms[0].Topic);
            Assert.AreEqual(new DateTime(1970, 1, 1), rooms[0].LastActive);
            Assert.AreEqual(new DateTime(2010, 3, 19, 14, 51, 51), rooms[0].Created);
            Assert.AreEqual(1, rooms[0].OwnerUserId);
            Assert.AreEqual(false, rooms[0].IsArchived);
            Assert.AreEqual(false, rooms[0].IsPrivate);
            Assert.AreEqual("7_development", rooms[0].JabberId);
        }
예제 #2
0
        public void TestListUsers()
        {
            var response    = new FakeHttpResponse(File.ReadAllText("../../Examples/RoomList.xml"));
            var credentials = new Credentials {
                ApiToken = "ABC123"
            };

            Mock <ICredentialService>()
            .Setup(call => call.GetCredentials())
            .Returns(credentials);

            Mock <IHttpService>()
            .Setup(call => call.Get("https://api.hipchat.com/v1/rooms/list?format=xml&auth_token=ABC123"))
            .Returns(response);

            var rooms = service.List();

            Assert.AreEqual(2, rooms.Count);
            Assert.AreEqual(7, rooms[0].Id);
            Assert.AreEqual("Development", rooms[0].Name);
            Assert.AreEqual("Make sure to document your API functions well!", rooms[0].Topic);
            Assert.AreEqual(new DateTime(1970, 1, 1), rooms[0].LastActive);
            Assert.AreEqual(new DateTime(2010, 3, 19, 14, 51, 51), rooms[0].Created);
            Assert.AreEqual(1, rooms[0].OwnerUserId);
            Assert.AreEqual(false, rooms[0].IsArchived);
            Assert.AreEqual(false, rooms[0].IsPrivate);
            Assert.AreEqual("7_development", rooms[0].JabberId);
        }
예제 #3
0
        public async Task HandleResponseSetsResponseBody()
        {
            var factory  = new Mock <IHttpLogMessageFactory>();
            var accessor = new Mock <IHttpContextAccessor>();
            var handler  = new DefaultHttpResponseLogHandler(factory.Object, accessor.Object, DefaultOptions.Default);

            var context    = new DefaultHttpContext();
            var logMessage = new HttpResponseLog(0, null, null);

            var content     = "This the http response content!";
            var response    = new FakeHttpResponse(content);
            var bodyWrapper = new HttpResponseBodyWrapper(response.Body);

            context.Features.Set(bodyWrapper);
            context.Features.Set <IHttpResponseFeature>(response);

            accessor.Setup(h => h.HttpContext).Returns(context);
            factory.Setup(f => f.Create(context.Response)).Returns(logMessage);

            await handler.Handle(context.Response);

            bodyWrapper.Dispose();

            Assert.Equal(logMessage.Body, content);
        }
예제 #4
0
        public void TestListUsers()
        {
            var response = new FakeHttpResponse(File.ReadAllText("../../Examples/UserList.xml"));
            var credentials = new Credentials { ApiToken = "ABC123" };

            Mock<ICredentialService>()
                .Setup(call => call.GetCredentials())
                .Returns(credentials);

            Mock<IHttpService>()
                .Setup(call => call.Get("https://api.hipchat.com/v1/users/list?format=xml&auth_token=ABC123"))
                .Returns(response);

            var users = service.List();

            Assert.AreEqual(3, users.Count);
            Assert.AreEqual(1, users[0].Id);
            Assert.AreEqual("Chris Rivers", users[0].Name);
            Assert.AreEqual("*****@*****.**", users[0].Email);
            Assert.AreEqual("Developer", users[0].Title);
            Assert.AreEqual("https://www.hipchat.com/chris.png", users[0].PhotoUrl);
            Assert.AreEqual("away", users[0].Status);
            Assert.AreEqual("gym, bbl", users[0].StatusMessage);
            Assert.AreEqual(true, users[0].IsGroupAdmin);
        }
예제 #5
0
        public void TestGetUser()
        {
            var response    = new FakeHttpResponse(File.ReadAllText("../../Examples/UserShow.xml"));
            var credentials = new Credentials {
                ApiToken = "ABC123"
            };

            Mock <ICredentialService>()
            .Setup(call => call.GetCredentials())
            .Returns(credentials);

            Mock <IHttpService>()
            .Setup(call => call.Get("https://api.hipchat.com/v1/users/show?user_id=5&format=xml&auth_token=ABC123"))
            .Returns(response);

            var user = service.GetUser(5);

            Assert.AreEqual(5, user.Id);
            Assert.AreEqual("Garret Heaton", user.Name);
            Assert.AreEqual("*****@*****.**", user.Email);
            Assert.AreEqual("Co-founder", user.Title);
            Assert.AreEqual("https://www.hipchat.com/img/silhouette_125.png", user.PhotoUrl);
            Assert.AreEqual("available", user.Status);
            Assert.AreEqual("Come see what I'm working on!", user.StatusMessage);
            Assert.AreEqual(true, user.IsGroupAdmin);
        }
예제 #6
0
        public void TestListUsers()
        {
            var response    = new FakeHttpResponse(File.ReadAllText("../../Examples/UserList.xml"));
            var credentials = new Credentials {
                ApiToken = "ABC123"
            };

            Mock <ICredentialService>()
            .Setup(call => call.GetCredentials())
            .Returns(credentials);

            Mock <IHttpService>()
            .Setup(call => call.Get("https://api.hipchat.com/v1/users/list?format=xml&auth_token=ABC123"))
            .Returns(response);

            var users = service.List();

            Assert.AreEqual(3, users.Count);
            Assert.AreEqual(1, users[0].Id);
            Assert.AreEqual("Chris Rivers", users[0].Name);
            Assert.AreEqual("*****@*****.**", users[0].Email);
            Assert.AreEqual("Developer", users[0].Title);
            Assert.AreEqual("https://www.hipchat.com/chris.png", users[0].PhotoUrl);
            Assert.AreEqual("away", users[0].Status);
            Assert.AreEqual("gym, bbl", users[0].StatusMessage);
            Assert.AreEqual(true, users[0].IsGroupAdmin);
        }
예제 #7
0
        public void App_path_modifier_returns_virtual_path()
        {
            var response = new FakeHttpResponse();

            var path = response.ApplyAppPathModifier("the/path");

            Assert.That(path, Is.EqualTo("the/path"));
        }
예제 #8
0
        public void App_path_modifier_returns_virtual_path()
        {
            var response = new FakeHttpResponse();

            var path = response.ApplyAppPathModifier("the/path");

            Assert.That(path, Is.EqualTo("the/path"));
        }
예제 #9
0
        public void App_path_modifier_can_alter_virtual_path()
        {
            var response = new FakeHttpResponse();
            response.SetAppPathModifier(x => x + "/12345");

            var path = response.ApplyAppPathModifier("the/path");

            Assert.That(path, Is.EqualTo("the/path/12345"));
        }
예제 #10
0
        public void App_path_modifier_can_alter_virtual_path()
        {
            var response = new FakeHttpResponse();

            response.SetAppPathModifier(x => x + "/12345");

            var path = response.ApplyAppPathModifier("the/path");

            Assert.That(path, Is.EqualTo("the/path/12345"));
        }
        public void CreateResponseLogMatchesWithHttpRequest()
        {
            var factory  = new HttpLogMessageFactory(DefaultOptions.Default, NullProtector.Value);
            var context  = new DefaultHttpContext();
            var response = new FakeHttpResponse();

            context.Features.Set <IHttpResponseFeature>(response);

            var responseLog = factory.Create(context.Response);

            Assert.Equal(context.Response.Headers.Keys, responseLog.Headers.Select(h => h.Key).ToList());
            Assert.Equal(context.Response.Headers.Values, responseLog.Headers.Select(h => (StringValues)h.Value).ToList());

            Assert.Equal(context.Response.StatusCode, responseLog.StatusCode);
            Assert.Equal(context.Response.ContentType, responseLog.ContentType);
        }
예제 #12
0
        public void TestGetJabberIdForUser()
        {
            var user = new User { Id = 1234 };
            var response = new FakeHttpResponse(File.ReadAllText("../../Examples/RoomList.xml"));
            var credentials = new Credentials { ApiToken = "ABC123" };

            Mock<ICredentialService>()
                .Setup(call => call.GetCredentials())
                .Returns(credentials);

            Mock<IHttpService>()
                .Setup(call => call.Get("https://api.hipchat.com/v1/rooms/list?format=xml&auth_token=ABC123"))
                .Returns(response);

            var jabberId = service.GetJabberIdForUser(user);

            Assert.AreEqual("7_1234", jabberId);
        }
        public void CreateResponseLogProtectsHttpResponseSensitiveData()
        {
            var option = new RaccoonLogHttpOptions();

            option.Response.SensitiveData.Headers.Add("X-Custom");

            _options.Setup(o => o.Value).Returns(option);

            var factory  = new HttpLogMessageFactory(_options.Object, NullProtector.Value);
            var context  = new DefaultHttpContext();
            var response = new FakeHttpResponse();

            context.Features.Set <IHttpResponseFeature>(response);

            var responseLog = factory.Create(context.Response);

            Assert.NotEqual(responseLog.Headers.First(h => h.Key == "X-Custom").Value, context.Response.Headers["X-Custom"].ToString());
        }
예제 #14
0
        public void TestGetJabberIdForUser()
        {
            var user = new User {
                Id = 1234
            };
            var response    = new FakeHttpResponse(File.ReadAllText("../../Examples/RoomList.xml"));
            var credentials = new Credentials {
                ApiToken = "ABC123"
            };

            Mock <ICredentialService>()
            .Setup(call => call.GetCredentials())
            .Returns(credentials);

            Mock <IHttpService>()
            .Setup(call => call.Get("https://api.hipchat.com/v1/rooms/list?format=xml&auth_token=ABC123"))
            .Returns(response);

            var jabberId = service.GetJabberIdForUser(user);

            Assert.AreEqual("7_1234", jabberId);
        }
예제 #15
0
        public void TestGetUser()
        {
            var response = new FakeHttpResponse(File.ReadAllText("../../Examples/UserShow.xml"));
            var credentials = new Credentials { ApiToken = "ABC123" };

            Mock<ICredentialService>()
                .Setup(call => call.GetCredentials())
                .Returns(credentials);

            Mock<IHttpService>()
                .Setup(call => call.Get("https://api.hipchat.com/v1/users/show?user_id=5&format=xml&auth_token=ABC123"))
                .Returns(response);

            var user = service.GetUser(5);

            Assert.AreEqual(5, user.Id);
            Assert.AreEqual("Garret Heaton", user.Name);
            Assert.AreEqual("*****@*****.**", user.Email);
            Assert.AreEqual("Co-founder", user.Title);
            Assert.AreEqual("https://www.hipchat.com/img/silhouette_125.png", user.PhotoUrl);
            Assert.AreEqual("available", user.Status);
            Assert.AreEqual("Come see what I'm working on!", user.StatusMessage);
            Assert.AreEqual(true, user.IsGroupAdmin);
        }