コード例 #1
0
        public void BuildRequest_GETRequestDataSupplied_ReturnsValidIPandaServiceRequest()
        {
            var proxy = new ServiceProxy(_cloudId, _accessKey, _secretKey, _apiHost);

            var request = proxy.BuildRequest("get", "videos.json", new Dictionary <string, string>
            {
                { "some_parameter", "some_value" },
                { "another_parameter", "another_value" }
            });

            Assert.IsTrue(request.Verb == "GET", "request method should retain verb passed to RestClient");
            Assert.IsTrue(request.BaseUrl == "http://api.pandastream.com/v2/videos.json", "base url should contain the host, version and path passed to RestClient");
            Assert.IsTrue(request.Url.Contains("http://api.pandastream.com/v2/videos.json?some_parameter=some_value&another_parameter=another_value&access_key=some_access_key&cloud_id=some_cloud_id&timestamp="),
                          "Url should contain host, version, path and query string parameters for GET requests");
            Assert.IsTrue(request.SignedParameters.Contains(
                              "some_parameter=some_value&another_parameter=another_value&access_key=some_access_key&cloud_id=some_cloud_id&timestamp="),
                          "SignedParameters should contain the supplied parameters, access key, cloudId and timestamp in the query string of a GET request");
            Assert.IsTrue(request.SignedParameters.Contains(
                              "&signature="),
                          "SignedParameters should be signed");

            Console.WriteLine("Verb: {0}", request.Verb);
            Console.WriteLine("BaseUrl: {0}", request.BaseUrl);
            Console.WriteLine("SignedParameters: {0}", request.SignedParameters);
            Console.WriteLine("Url: {0}", request.Url);
        }
コード例 #2
0
        public void BuildRequest_PUTRequestDataSupplied_ReturnsValidIPandaServiceRequest()
        {
            var proxy = new ServiceProxy(_cloudId, _accessKey, _secretKey, _apiHost);

            var request = proxy.BuildRequest("put", "videos.json", new Dictionary <string, string>
            {
                { "some_parameter", "some_value" },
                { "another_parameter", "another_value" }
            });

            Assert.IsTrue(request.Verb == "PUT", "request method should retain verb passed to RestClient");
            Assert.IsTrue(request.BaseUrl == "http://api.pandastream.com/v2/videos.json", "base url should contain the host, version and path passed to RestClient");
            Assert.IsTrue(request.Url.Equals("http://api.pandastream.com/v2/videos.json"),
                          "Url should contain host, version and path with no query string parameters for POST and PUT requests");

            Console.WriteLine("Verb: {0}", request.Verb);
            Console.WriteLine("BaseUrl: {0}", request.BaseUrl);
            Console.WriteLine("SignedParameters: {0}", request.SignedParameters);
            Console.WriteLine("Url: {0}", request.Url);
        }