public async Task Get_UserInfo()
        {
            var objectName = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair <string, string>("AccessToken", _auth.AccessToken)
            });

            var response = await _jsonHttpClient.HttpGetAsync <UserInfo>(new Uri(_auth.Id));

            Assert.IsNotNull(response);
        }
Пример #2
0
        public Task <T?> DescribeLayoutAsync <T>(string objectName) where T : class
        {
            if (string.IsNullOrEmpty(objectName))
            {
                throw new ArgumentNullException(nameof(objectName));
            }

            var resourceName = $"sobjects/{objectName}/describe/layouts/";

            return(JsonHttpClient.HttpGetAsync <T>(resourceName));
        }
        public async Task Requests_CheckCustomRequestsHeaders()
        {
            var client = new HttpClient(new ServiceClientRouteHandler(r =>
            {
                Assert.IsNotNull(r.Headers.GetValues("headername"));
                Assert.AreEqual(r.Headers.GetValues("headername").FirstOrDefault(), "headervalue");
            }));

            client.DefaultRequestHeaders.Add("headername", "headervalue");

            using (var httpClient = new JsonHttpClient("http://localhost:1899", "v36", "accessToken", client))
            {
                await httpClient.HttpGetAsync <object>("wade");
            }
        }
        public async void Requests_CheckHttpRequestMessage_HttpGet_WithNode()
        {
            var client = new HttpClient(new ServiceClientRouteHandler(r =>
            {
                Assert.AreEqual(r.RequestUri.ToString(), "http://localhost:1899/services/data/v34/wade");

                Assert.IsNotNull(r.Headers.UserAgent);
                Assert.AreEqual(r.Headers.UserAgent.ToString(), UserAgent + "/v34");

                Assert.IsNotNull(r.Headers.Authorization);
                Assert.AreEqual(r.Headers.Authorization.ToString(), "Bearer accessToken");
            }));

            using (var httpClient = new JsonHttpClient("http://localhost:1899", "v34", "accessToken", client))
            {
                await httpClient.HttpGetAsync<object>("wade");
            }
        }
        public async Task Requests_CheckHttpRequestMessage_HttpGet_WithNode()
        {
            var client = new HttpClient(new ServiceClientRouteHandler(r =>
            {
                Assert.AreEqual(r.RequestUri.ToString(), "http://localhost:1899/services/data/v36/wade");

                Assert.IsNotNull(r.Headers.UserAgent);
                Assert.AreEqual(r.Headers.UserAgent.ToString(), UserAgent + "/v36");

                Assert.IsNotNull(r.Headers.Authorization);
                Assert.AreEqual(r.Headers.Authorization.ToString(), "Bearer accessToken");
            }));

            using (var httpClient = new JsonHttpClient("http://localhost:1899", "v36", "accessToken", client))
            {
                await httpClient.HttpGetAsync <object>("wade");
            }
        }
        public async Task BadTokenHandling()
        {
            var badToken          = "badtoken";
            var serviceHttpClient = new JsonHttpClient(_auth.InstanceUrl, _auth.ApiVersion, badToken, new HttpClient());

            const string query = "SELECT count() FROM Account";

            try
            {
                await serviceHttpClient.HttpGetAsync <QueryResult <dynamic> >(string.Format("query?q={0}", query));
            }
            catch (ForceException ex)
            {
                Assert.IsNotNull(ex);
                Assert.IsNotNull(ex.Message);
                Assert.That(ex.Message, Is.EqualTo("Session expired or invalid"));
                Assert.IsNotNull(ex.Error);
            }
        }
        public async void Requests_CheckCustomRequestsHeaders()
        {
            var client = new HttpClient(new ServiceClientRouteHandler(r =>
            {
                Assert.IsNotNull(r.Headers.GetValues("headername"));
                Assert.AreEqual(r.Headers.GetValues("headername").FirstOrDefault(), "headervalue");
            }));

            client.DefaultRequestHeaders.Add("headername", "headervalue");

            using (var httpClient = new JsonHttpClient("http://localhost:1899", "v32", "accessToken", client))
            {
                await httpClient.HttpGetAsync<object>("wade");
            }
        }
Пример #8
0
        // STANDARD METHODS

        public Task <QueryResult <T> > QueryAsync <T>(string query)
        {
            if (string.IsNullOrEmpty(query))
            {
                throw new ArgumentNullException("query");
            }

            return(_jsonHttpClient.HttpGetAsync <QueryResult <T> >(string.Format("query?q={0}", Uri.EscapeDataString(query))));
        }
Пример #9
0
 public Task <T> FeedsAsync <T>()
 {
     return(_jsonHttpClient.HttpGetAsync <T>("chatter/feeds"));
 }
	    public async void BadTokenHandling()
	    {
            _auth = new AuthenticationClient();
            _auth.UsernamePasswordAsync(ConsumerKey, ConsumerSecret, Username, Password, TokenRequestEndpointUrl).Wait();

	        var badToken = "badtoken";
            var serviceHttpClient = new JsonHttpClient(_auth.InstanceUrl, _auth.ApiVersion, badToken, new HttpClient());

            const string query = "SELECT count() FROM Account";

	        try
	        {
                await serviceHttpClient.HttpGetAsync<QueryResult<dynamic>>(string.Format("query?q={0}", query));
	        }
            catch (ForceException ex)
            {
                Assert.IsNotNull(ex);
                Assert.IsNotNull(ex.Message);
                Assert.That(ex.Message, Is.EqualTo("Session expired or invalid"));
                Assert.IsNotNull(ex.Error);
            }
	    }