public void FieldsFromQueryString_EmptyFields_ReturnsEmptyString()
        {
            var partialReponseConfig = new DefaultPartialResponseConfig();
            IRequestContext reqContextMock = GenerateRequestMockWithQueryString(
                partialReponseConfig.FieldsQueryStringName, string.Empty);

            Assert.Equal(
                string.Empty,
                FieldsRetriever.FieldsFromQueryString(reqContextMock, partialReponseConfig.FieldsQueryStringName));
        }
Esempio n. 2
0
        public void FieldsFromHeader_EmptyFields_ReturnsEmptyString()
        {
            var partialReponseConfig = new DefaultPartialResponseConfig();
            var reqContextMock       = MockRepository.GenerateStub <IRequestContext>();

            reqContextMock.Expect(x => x.GetHeader(partialReponseConfig.FieldsHeaderName)).Return(string.Empty);

            Assert.Equal(
                string.Empty, FieldsRetriever.FieldsFromHeader(reqContextMock, partialReponseConfig.FieldsHeaderName));
        }
Esempio n. 3
0
        public void FieldsFromQueryString_EmptyFields_ReturnsEmptyString()
        {
            var             partialReponseConfig = new DefaultPartialResponseConfig();
            IRequestContext reqContextMock       = GenerateRequestMockWithQueryString(
                partialReponseConfig.FieldsQueryStringName, string.Empty);

            Assert.Equal(
                string.Empty,
                FieldsRetriever.FieldsFromQueryString(reqContextMock, partialReponseConfig.FieldsQueryStringName));
        }
        public void FieldsFromQueryString_OneField_OneFieldReturned()
        {
            var partialReponseConfig = new DefaultPartialResponseConfig();
            const string IdField = "id";
            IRequestContext reqContextMock =
                GenerateRequestMockWithQueryString(partialReponseConfig.FieldsQueryStringName, IdField);

            Assert.Equal(
                IdField,
                FieldsRetriever.FieldsFromQueryString(reqContextMock, partialReponseConfig.FieldsQueryStringName));
        }
 public void SupportedResponseContentType_DefaultConstructor_DefaultValues()
 {
     var partialResponseConfig = new DefaultPartialResponseConfig();
     Assert.Equal(FieldResolutionMethod.QueryStringAndHeader, partialResponseConfig.FieldResolutionMethod);
     Assert.Equal("fields", partialResponseConfig.FieldsQueryStringName);
     Assert.Equal("x-fields", partialResponseConfig.FieldsHeaderName);
     Assert.Equal(3, partialResponseConfig.SupportedResponseContentType.Count);
     Assert.True(partialResponseConfig.SupportedResponseContentType.Contains("application/json"));
     Assert.True(partialResponseConfig.SupportedResponseContentType.Contains("application/jsv"));
     Assert.True(partialResponseConfig.SupportedResponseContentType.Contains("text/html"));
 }
        public void FieldsFromQueryString_OneField_OneFieldReturned()
        {
            var partialReponseConfig = new DefaultPartialResponseConfig();
            const string IdField = "id";
            var request = MockRepository.GenerateStub<IRequest>();
            StubQueryString(request, partialReponseConfig.FieldsQueryStringName, IdField);

            Assert.Equal(
                IdField,
                FieldsRetriever.FieldsFromQueryString(request, partialReponseConfig.FieldsQueryStringName));
        }
Esempio n. 7
0
        public void FieldsFromQueryString_EmptyFields_ReturnsEmptyString()
        {
            var partialReponseConfig = new DefaultPartialResponseConfig();
            var request = MockRepository.GenerateStub <IRequest>();

            StubQueryString(request, partialReponseConfig.FieldsQueryStringName, string.Empty);

            Assert.Equal(
                string.Empty,
                FieldsRetriever.FieldsFromQueryString(request, partialReponseConfig.FieldsQueryStringName));
        }
Esempio n. 8
0
        public void FieldsFromHeader_OneField_OneFieldReturned()
        {
            var          partialReponseConfig = new DefaultPartialResponseConfig();
            const string IdField        = "id";
            var          reqContextMock = MockRepository.GenerateStub <IRequestContext>();

            reqContextMock.Expect(x => x.GetHeader(partialReponseConfig.FieldsHeaderName)).Return(IdField);

            Assert.Equal(
                IdField, FieldsRetriever.FieldsFromHeader(reqContextMock, partialReponseConfig.FieldsHeaderName));
        }
Esempio n. 9
0
        public void FieldsFromQueryString_OneField_OneFieldReturned()
        {
            var             partialReponseConfig = new DefaultPartialResponseConfig();
            const string    IdField        = "id";
            IRequestContext reqContextMock =
                GenerateRequestMockWithQueryString(partialReponseConfig.FieldsQueryStringName, IdField);

            Assert.Equal(
                IdField,
                FieldsRetriever.FieldsFromQueryString(reqContextMock, partialReponseConfig.FieldsQueryStringName));
        }
Esempio n. 10
0
        public void FieldsFromHeader_OneField_OneFieldReturned()
        {
            var          partialReponseConfig = new DefaultPartialResponseConfig();
            const string IdField = "id";
            var          request = MockRepository.GenerateStub <IRequest>();

            StubHeaders(request, partialReponseConfig.FieldsHeaderName, IdField);

            Assert.Equal(
                IdField, FieldsRetriever.FieldsFromHeader(request, partialReponseConfig.FieldsHeaderName));
        }
Esempio n. 11
0
        public void SupportedResponseContentType_DefaultConstructor_DefaultValues()
        {
            var partialResponseConfig = new DefaultPartialResponseConfig();

            Assert.Equal(FieldResolutionMethod.QueryStringAndHeader, partialResponseConfig.FieldResolutionMethod);
            Assert.Equal("fields", partialResponseConfig.FieldsQueryStringName);
            Assert.Equal("x-fields", partialResponseConfig.FieldsHeaderName);
            Assert.Equal(3, partialResponseConfig.SupportedResponseContentType.Count);
            Assert.True(partialResponseConfig.SupportedResponseContentType.Contains("application/json"));
            Assert.True(partialResponseConfig.SupportedResponseContentType.Contains("application/jsv"));
            Assert.True(partialResponseConfig.SupportedResponseContentType.Contains("text/html"));
        }
        public void FieldsFromQueryString_TwoFields_TwoFieldReturned()
        {
            var partialReponseConfig = new DefaultPartialResponseConfig();
            const string IdField = "id";
            const string NameField = "name";
            var request = MockRepository.GenerateStub<IRequest>();
            StubQueryString(request, partialReponseConfig.FieldsQueryStringName, IdField, NameField);

            Assert.Equal(
                string.Join(FieldSelectorConstants.MultipleFieldSeparator.ToString(), IdField, NameField),
                FieldsRetriever.FieldsFromQueryString(request, partialReponseConfig.FieldsQueryStringName));
        }
        public void ToPartialResponse_UnsupportedType_ReturnsSameObject()
        {
            const decimal ExpectedSalary = 1234.56m;
            var fakeDto = new FakeDto {Salary = ExpectedSalary};
            var config = new DefaultPartialResponseConfig();
            var request = MockRepository.GenerateMock<IRequest>();
            request.Expect(x => x.ResponseContentType).Return(config.SupportedResponseContentType[0] + "garbage");
            request.Expect(x => x.Headers.Get(config.FieldsHeaderName)).Return("id");
            object partialResponse = request.ToPartialResponse(fakeDto, config);

            Assert.Same(fakeDto, partialResponse);
            Assert.Equal(ExpectedSalary, ((FakeDto) partialResponse).Salary);
        }
Esempio n. 14
0
        public void FieldsFromQueryString_TwoFields_TwoFieldReturned()
        {
            var          partialReponseConfig = new DefaultPartialResponseConfig();
            const string IdField   = "id";
            const string NameField = "name";
            var          request   = MockRepository.GenerateStub <IRequest>();

            StubQueryString(request, partialReponseConfig.FieldsQueryStringName, IdField, NameField);

            Assert.Equal(
                string.Join(FieldSelectorConstants.MultipleFieldSeparator.ToString(), IdField, NameField),
                FieldsRetriever.FieldsFromQueryString(request, partialReponseConfig.FieldsQueryStringName));
        }
Esempio n. 15
0
        public void FieldsFromHeader_TwoFields_TwoFieldReturned()
        {
            var          partialReponseConfig = new DefaultPartialResponseConfig();
            const string IdField            = "id";
            const string NameField          = "name";
            string       joinedHeaderValues = string.Join(",", IdField, NameField);
            var          reqContextMock     = MockRepository.GenerateStub <IRequestContext>();

            reqContextMock.Expect(x => x.GetHeader(partialReponseConfig.FieldsHeaderName)).Return(joinedHeaderValues);

            Assert.Equal(
                joinedHeaderValues,
                FieldsRetriever.FieldsFromHeader(reqContextMock, partialReponseConfig.FieldsHeaderName));
        }
        public void ToPartialResponse_FieldsSetAndSupportedType_ReturnspartialResponse()
        {
            const decimal ExpectedSalary = 1234.56m;
            var fakeDto = new FakeDto {Salary = ExpectedSalary, Person = new FakePerson()};
            var config = new DefaultPartialResponseConfig();
            var request = MockRepository.GenerateMock<IRequest>();
            request.Expect(x => x.ResponseContentType).Return(config.SupportedResponseContentType[0]);
            request.Expect(x => x.Headers.Get(config.FieldsHeaderName)).Return("salary");
            dynamic partialResponse = request.ToPartialResponse(fakeDto, config);

            Assert.False(((IDictionary<string, object>) partialResponse).ContainsKey("Person"));
            Assert.True(((IDictionary<string, object>) partialResponse).ContainsKey("Salary"));
            Assert.Equal(ExpectedSalary, partialResponse.Salary);
        }
        public void ToPartialResponse_UnsupportedType_ReturnsSameObject()
        {
            const decimal ExpectedSalary = 1234.56m;
            var           fakeDto        = new FakeDto {
                Salary = ExpectedSalary
            };
            var config         = new DefaultPartialResponseConfig();
            var reqContextMock = MockRepository.GenerateMock <IRequestContext>();

            reqContextMock.Expect(x => x.ResponseContentType).Return(config.SupportedResponseContentType[0] + "garbage");
            reqContextMock.Expect(x => x.GetHeader(config.FieldsHeaderName)).Return("id");
            object partialResponse = reqContextMock.ToPartialResponse(fakeDto, config);

            Assert.Same(fakeDto, partialResponse);
            Assert.Equal(ExpectedSalary, ((FakeDto)partialResponse).Salary);
        }
        public void ToPartialResponse_FieldsSetAndSupportedType_ReturnspartialResponse()
        {
            const decimal ExpectedSalary = 1234.56m;
            var           fakeDto        = new FakeDto {
                Salary = ExpectedSalary, Person = new FakePerson()
            };
            var config         = new DefaultPartialResponseConfig();
            var reqContextMock = MockRepository.GenerateMock <IRequestContext>();

            reqContextMock.Expect(x => x.ResponseContentType).Return(config.SupportedResponseContentType[0]);
            reqContextMock.Expect(x => x.GetHeader(config.FieldsHeaderName)).Return("salary");
            dynamic partialResponse = reqContextMock.ToPartialResponse(fakeDto, config);

            Assert.False(((IDictionary <string, object>)partialResponse).ContainsKey("Person"));
            Assert.True(((IDictionary <string, object>)partialResponse).ContainsKey("Salary"));
            Assert.Equal(ExpectedSalary, partialResponse.Salary);
        }
        public void FieldsFromQueryString_EmptyFields_ReturnsEmptyString()
        {
            var partialReponseConfig = new DefaultPartialResponseConfig();
            var request = MockRepository.GenerateStub<IRequest>();
            StubQueryString(request, partialReponseConfig.FieldsQueryStringName, string.Empty);

            Assert.Equal(
                string.Empty,
                FieldsRetriever.FieldsFromQueryString(request, partialReponseConfig.FieldsQueryStringName));
        }
        public void FieldsFromHeader_TwoFields_TwoFieldReturned()
        {
            var partialReponseConfig = new DefaultPartialResponseConfig();
            const string IdField = "id";
            const string NameField = "name";
            string joinedHeaderValues = string.Join(",", IdField, NameField);
            var reqContextMock = MockRepository.GenerateStub<IRequestContext>();
            reqContextMock.Expect(x => x.GetHeader(partialReponseConfig.FieldsHeaderName)).Return(joinedHeaderValues);

            Assert.Equal(
                joinedHeaderValues,
                FieldsRetriever.FieldsFromHeader(reqContextMock, partialReponseConfig.FieldsHeaderName));
        }
        public void FieldsFromHeader_OneField_OneFieldReturned()
        {
            var partialReponseConfig = new DefaultPartialResponseConfig();
            const string IdField = "id";
            var reqContextMock = MockRepository.GenerateStub<IRequestContext>();
            reqContextMock.Expect(x => x.GetHeader(partialReponseConfig.FieldsHeaderName)).Return(IdField);

            Assert.Equal(
                IdField, FieldsRetriever.FieldsFromHeader(reqContextMock, partialReponseConfig.FieldsHeaderName));
        }
        public void FieldsFromHeader_EmptyFields_ReturnsEmptyString()
        {
            var partialReponseConfig = new DefaultPartialResponseConfig();
            var reqContextMock = MockRepository.GenerateStub<IRequestContext>();
            reqContextMock.Expect(x => x.GetHeader(partialReponseConfig.FieldsHeaderName)).Return(string.Empty);

            Assert.Equal(
                string.Empty, FieldsRetriever.FieldsFromHeader(reqContextMock, partialReponseConfig.FieldsHeaderName));
        }