public async void Query_Describe()
        {
            const string userAgent = "common-libraries-dotnet";

            var auth = new AuthenticationClient();
            await auth.UsernamePasswordAsync(_consumerKey, _consumerSecret, _username, _password, userAgent, _tokenRequestEndpointUrl);

            var serviceHttpClient = new ServiceHttpClient(auth.InstanceUrl, auth.ApiVersion, auth.AccessToken, userAgent, new HttpClient());
            var objectName = "Account";
            var response = await serviceHttpClient.HttpGetAsync<dynamic>(string.Format("sobjects/{0}", objectName));
            
            Assert.IsNotNull(response);
        }
        public async void Query_Objects()
        {
            const string userAgent = "common-libraries-dotnet";

            var auth = new AuthenticationClient();
            await auth.UsernamePasswordAsync(_consumerKey, _consumerSecret, _username, _password, userAgent, _tokenRequestEndpointUrl);

            var serviceHttpClient = new ServiceHttpClient(auth.InstanceUrl, auth.ApiVersion, auth.AccessToken, userAgent, new HttpClient());

            var response = await serviceHttpClient.HttpGetAsync<DescribeGlobalResult<dynamic>>(string.Format("sobjects"));

            Assert.IsTrue(response.maxBatchSize > 0);
            Assert.IsTrue(response.sobjects.Count > 0);
        }
        public async void Query_Select_Count()
        {
            const string userAgent = "common-libraries-dotnet";

            var auth = new AuthenticationClient();
            await auth.UsernamePasswordAsync(_consumerKey, _consumerSecret, _username, _password, userAgent, _tokenRequestEndpointUrl);

            var serviceHttpClient = new ServiceHttpClient(auth.InstanceUrl, auth.ApiVersion, auth.AccessToken, userAgent, new HttpClient());

            var query = "SELECT count() FROM Account";
            var response = await serviceHttpClient.HttpGetAsync<QueryResult<dynamic>>(string.Format("query?q={0}", query));

            Assert.IsTrue(response.totalSize > 0);
            Assert.IsTrue(response.records.Count == 0);
        }
Ejemplo n.º 4
0
        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 ServiceHttpClient("http://localhost:1899", "v29", "accessToken", client))
            {
                await httpClient.HttpGetAsync <object>("wade");
            }
        }
Ejemplo n.º 5
0
        public async void Requests_CheckHttpRequestMessage_HttpGet_WithNode()
        {
            var client = new HttpClient(new ServiceClientRouteHandler(r =>
            {
                Assert.AreEqual(r.RequestUri.ToString(), "http://localhost:1899/services/data/v30/wade");

                Assert.IsNotNull(r.Headers.UserAgent);
                Assert.AreEqual(r.Headers.UserAgent.ToString(), "common-libraries-dotnet/v30");

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

            using (var httpClient = new ServiceHttpClient("http://localhost:1899", "v30", "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/v30/wade");

                Assert.IsNotNull(r.Headers.UserAgent);
                Assert.AreEqual(r.Headers.UserAgent.ToString(), "common-libraries-dotnet/v30");

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

            using (var httpClient = new ServiceHttpClient("http://localhost:1899", "v30", "accessToken", client))
            {
                await httpClient.HttpGetAsync<object>("wade");
            }
        }
Ejemplo n.º 7
0
        private static async Task <T> GetSalesforceAsync <T>(string urlSuffix, DesignTimeAuthentication authentication)
        {
            T result = default(T);
            await AuthenticationHelper.ExecuteSalesforceRequestAsync <ForceException>(
                authentication,
                async() =>
            {
                ServiceHttpClient client = new ServiceHttpClient(
                    authentication.InstanceUrl,
                    Constants.SalesforceApiVersionWithPrefix,
                    authentication.AccessToken,
                    new HttpClient());
                result = await client.HttpGetAsync <T>(urlSuffix);
            },
                (e) => e.Error == Error.InvalidGrant);

            return(result);
        }
        public async Task BadTokenHandling()
        {
            var badToken          = "badtoken";
            var serviceHttpClient = new ServiceHttpClient(_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 BadTokenHandling()
        {
            _auth = new AuthenticationClient();
            _auth.UsernamePasswordAsync(ConsumerKey, ConsumerSecret, Username, Password, TokenRequestEndpointUrl).Wait();

            var badToken          = "badtoken";
            var serviceHttpClient = new ServiceHttpClient(_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 ServiceHttpClient("http://localhost:1899", "v30", "accessToken", client))
            {
                await httpClient.HttpGetAsync<object>("wade");
            }
        }
 public Task <T> FeedsAsync <T>()
 {
     return(_serviceHttpClient.HttpGetAsync <T>("chatter/feeds"));
 }
	    public async Task BadTokenHandling()
	    {
	        var badToken = "badtoken";
            var serviceHttpClient = new ServiceHttpClient(_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);
            }
	    }
Ejemplo n.º 13
0
	    public async void BadTokenHandling()
	    {
            _auth = new AuthenticationClient();
            _auth.UsernamePasswordAsync(ConsumerKey, ConsumerSecret, Username, Password, TokenRequestEndpointUrl).Wait();

	        var badToken = "badtoken";
            var serviceHttpClient = new ServiceHttpClient(_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 Task Get_UserInfo()
        {
            var response = await _serviceHttpClient.HttpGetAsync <UserInfo>(new Uri(_auth.Id));

            Assert.IsNotNull(response);
        }
Ejemplo n.º 15
0
        public Task <QueryResult <T> > QueryAsync <T>(string query)
        {
            if (string.IsNullOrEmpty(query))
            {
                throw new ArgumentNullException("query");
            }

            return(_serviceHttpClient.HttpGetAsync <QueryResult <T> >(string.Format("query?q={0}", Uri.EscapeDataString(query))));
        }
Ejemplo n.º 16
0
        public async Task <T> FeedsAsync <T>()
        {
            var feeds = await _serviceHttpClient.HttpGetAsync <T>("chatter/feeds");

            return(feeds);
        }
Ejemplo n.º 17
0
        public Task <T> CompletionsAsync <T>(string type)
        {
            if (string.IsNullOrEmpty(type))
            {
                throw new ArgumentNullException("completions");
            }

            return(_serviceHttpClient.HttpGetAsync <T>(string.Format("tooling/completions?type={0}", type)));
        }