public void GenerateQueryString_ShouldThrowWhenRequiredParameterIsNull()
        {
            // Arrange
            var request = new RequestWithRequiredParameter();

            // Act
            var ex = Assert.Throws <Exception>(() => ParametersExtractor.GenerateQueryString(request));

            // Assert
            Assert.Equal("Parameter string is required.", ex.Message);
        }
        public void GenerateQueryString_ShouldNotIncludeNulls()
        {
            // Arrange
            var request = new RequestWithNullables();

            // Act
            var queryString = ParametersExtractor.GenerateQueryString(request);

            // Assert
            Assert.Equal("", queryString);
        }
        public void GenerateQueryString_ShouldUseCustomName()
        {
            // Arrange
            var request = new RequestWithCustomName
            {
                String = "test"
            };

            // Act
            var queryString = ParametersExtractor.GenerateQueryString(request);

            // Assert
            Assert.Equal("custom_name=test", queryString);
        }
示例#4
0
        public async Task <CreateResponse> Create(string baseUrl, string secret, CreateRequest request, Modules modules = null)
        {
            HttpContent body = null;

            if (modules != null)
            {
                using var stringWriter = new StringWriter();
                var ser = new XmlSerializer(typeof(Modules));
                ser.Serialize(stringWriter, modules);
                body = new StringContent(stringWriter.ToString(), Encoding.UTF8, "application/xml");
            }

            return(await ExecuteRequest <CreateResponse>(baseUrl, secret, "create",
                                                         ParametersExtractor.GenerateQueryString(request), body));
        }
        public void GenerateQueryString_ShouldGenerateQueryStringWithCamelCaseParameters()
        {
            // Arrange
            var request = new Request
            {
                String  = "test",
                Int     = 10,
                Boolean = true
            };

            // Act
            var queryString = ParametersExtractor.GenerateQueryString(request);

            // Assert
            Assert.Equal("string=test&int=10&boolean=True", queryString);
        }
示例#6
0
 public async Task <GetRecordingsResponse> GetRecordings(string baseUrl, string secret, GetRecordingsRequest request)
 => await ExecuteRequest <GetRecordingsResponse>(baseUrl, secret, "getRecordings",
                                                 ParametersExtractor.GenerateQueryString(request));
示例#7
0
 public string GetJoinUrl(string baseUrl, string secret, JoinRequest request)
 => ConstructUrl(baseUrl, secret, "join", ParametersExtractor.GenerateQueryString(request));