public void Constructor_WithQueryParameters_AddsQueryParametersToFullUri() { const string UriString = "https://www.google.ch"; var baseUri = new Uri(UriString); const RestCallMethodType MethodType = RestCallMethodType.Get; var security = RestSecurity.CreateAnonymous(); var headers = new RestHeaders(new List <RestHeader>()); var body = Maybe.CreateSome(RestCallBody.CreateApplicationJson(new object())); var queryParameterList = new List <QueryParameter> { new QueryParameter("Key1", "Value1", "Value2"), new QueryParameter("Key2", "Value3") }; const string ExpectedUriString = UriString + "?Key1=Value1&Key1=Value2&Key2=Value3"; var expectedFullUri = new Uri(ExpectedUriString); var queryParameters = new QueryParameters(queryParameterList); ConstructorTestBuilderFactory.Constructing <RestCall>() .UsingDefaultConstructor() .WithArgumentValues(baseUri, Maybe.CreateNone <string>(), MethodType, security, headers, body, queryParameters) .Maps() .ToProperty(f => f.AbsoluteUri).WithValue(expectedFullUri) .BuildMaps() .Assert(); }
public void Constructor_Works() { var baseUri = new Uri("https://www.google.ch"); const string ActualResourcePathString = "Test"; Maybe <string> resourcePath = ActualResourcePathString; const RestCallMethodType MethodType = RestCallMethodType.Get; var security = RestSecurity.CreateAnonymous(); var headers = new RestHeaders(new List <RestHeader>()); var body = Maybe.CreateSome(RestCallBody.CreateApplicationJson(new object())); var expectedFullUri = new Uri(baseUri, "/" + ActualResourcePathString); var queryParameters = new QueryParameters(new List <QueryParameter>()); ConstructorTestBuilderFactory.Constructing <RestCall>() .UsingDefaultConstructor() .WithArgumentValues(baseUri, resourcePath, MethodType, security, headers, body, queryParameters) .Maps() .ToProperty(f => f.BaseUri).WithValue(baseUri) .ToProperty(f => f.Body).WithValue(body) .ToProperty(f => f.Headers).WithValue(headers) .ToProperty(f => f.MethodType).WithValue(MethodType) .ToProperty(f => f.ResourcePath).WithValue(resourcePath) .ToProperty(f => f.Security).WithValue(security) .ToProperty(f => f.AbsoluteUri).WithValue(expectedFullUri) .BuildMaps() .Assert(); }
public void CreatingTokenSecurity_CreatesTokenSecurity() { // Act var actualSecurity = RestSecurity.CreateTokenSecurity("tra"); // Assert Assert.IsInstanceOf <TokenSecurity>(actualSecurity); }
public void CreatingBasicAuthentication_CreatesBasicAuthentication() { // Act var actualSecurity = RestSecurity.CreateBasicAuthentication("tra", "tra"); // Assert Assert.IsInstanceOf <BasicAuthentication>(actualSecurity); }
public void CreatingAnonymous_CreatesAnonymous() { // Act var actualSecurity = RestSecurity.CreateAnonymous(); // Assert Assert.IsInstanceOf <Anonymous>(actualSecurity); }
public RestSettings(Uri basePath, string resourcePath, RestSecurity restSecurity) { Guard.ObjectNotNull(() => basePath); Guard.ObjectNotNull(() => restSecurity); BasePath = basePath; ResourcePath = resourcePath; RestSecurity = restSecurity; }
protected async Task <string> GetAsync(string resourcePath) { var str = await _restProxy.PerformCallAsync <string>( cb => cb.StartBuilding(_tfsSettings.GetTfsBaseProjectPath()) .WithResourcePath(resourcePath) .WithSecurity(RestSecurity.CreateBasicAuthentication(string.Empty, _tfsSettings.BasicAuthToken)) .Build()); return(str); }
private static RestSettings CreateRestSettings() { var lines = File.ReadAllLines(@"C:\Users\matthias.mueller\Desktop\Stuff\Settings\Individuals.txt"); var basePath = new Uri(lines[0]); var relativePath = lines[1]; var userName = lines[2]; var password = lines[3]; return(new RestSettings(basePath, relativePath, RestSecurity.CreateBasicAuthentication(userName, password))); }
protected async Task <string> PatchAsync(string resourcePath, object payload) { var str = await _restProxy.PerformCallAsync <string>( cb => cb.StartBuilding(_tfsSettings.GetTfsBaseProjectPath(), RestCallMethodType.Patch) .WithResourcePath(resourcePath) .WithBody(new RestCallBody(payload, "application/json-patch+json")) .WithSecurity(RestSecurity.CreateBasicAuthentication(string.Empty, _tfsSettings.BasicAuthToken)) .Build()); return(str); }
internal static RestCall CreateDefaultRestCall() { return(new RestCall( new Uri("https://www.google.ch"), Maybe.CreateNone <string>(), RestCallMethodType.Get, RestSecurity.CreateAnonymous(), new RestHeaders(new List <RestHeader>()), Maybe.CreateNone <RestCallBody>(), new QueryParameters(new List <QueryParameter>()))); }
public async Task <IActionResult> GetPersonalInfos() { var uri = new Uri("https://api.linkedin.com/v2/me"); var restCall = _restCallBuilderFactory.StartBuilding(uri) .WithSecurity(RestSecurity.CreateTokenSecurity("Bearer " + LinkedInAccessTokenSingleton.Value)) .Build(); var tra = await _restProxy.PerformCallAsync <string>(restCall); return(Ok()); }
internal static RestCall CreatePostOneTodoRestCall(string todoJson) { return(new RestCall( new Uri("https://jsonplaceholder.typicode.com/comments"), Maybe.CreateNone <string>(), RestCallMethodType.Post, RestSecurity.CreateAnonymous(), new RestHeaders(new List <RestHeader>()), RestCallBody.CreateApplicationJson(todoJson), new QueryParameters(new List <QueryParameter>()))); }
internal static RestCall CreateNotExistingPostRestCall() { return(new RestCall( new Uri("https://google.com/"), Maybe.CreateNone <string>(), RestCallMethodType.Post, RestSecurity.CreateAnonymous(), new RestHeaders(new List <RestHeader>()), Maybe.CreateNone <RestCallBody>(), new QueryParameters(new List <QueryParameter>()))); }
internal static RestCall CreateGetOneTodoRestCall() { return(new RestCall( new Uri("https://jsonplaceholder.typicode.com/todos/1"), Maybe.CreateNone <string>(), RestCallMethodType.Get, RestSecurity.CreateAnonymous(), new RestHeaders(new List <RestHeader>()), Maybe.CreateNone <RestCallBody>(), new QueryParameters(new List <QueryParameter>()))); }
public async Task <RestCall> CreateAsync(TranslationRequestDto request) { var resourcePath = CreateResourcePath(request); var token = await _authorizationTokenFactory.CreateAuthorizationTokenAsync(); return(_restCallBuilderFactory .StartBuilding(_translationBaseUrl, RestCallMethodType.Post) .WithResourcePath(resourcePath) .WithSecurity(RestSecurity.CreateTokenSecurity(token)) .WithBody(new RestCallBody(request.Entries)) .Build()); }
public Task Given_the_user_is_about_to_call_a_nonexisting_url() { _restCall = new RestCall( new Uri("https://googlewdwwfwef.com/"), Maybe.CreateNone <string>(), RestCallMethodType.Post, RestSecurity.CreateAnonymous(), new RestHeaders(new List <RestHeader>()), Maybe.CreateNone <RestCallBody>(), new QueryParameters(new List <QueryParameter>())); return(Task.CompletedTask); }
internal static RestCall CreateCommentsByPostIdRestCall() { var queryParameters = new List <QueryParameter> { new QueryParameter("postId", 1) }; return(new RestCall( new Uri("https://jsonplaceholder.typicode.com/comments"), Maybe.CreateNone <string>(), RestCallMethodType.Get, RestSecurity.CreateAnonymous(), new RestHeaders(new List <RestHeader>()), Maybe.CreateNone <RestCallBody>(), new QueryParameters(queryParameters))); }
internal RestCall(Uri baseUri, Maybe <string> resourcePath, RestCallMethodType methodType, RestSecurity security, RestHeaders headers, Maybe <RestCallBody> body, QueryParameters queryParameters) { Guard.ObjectNotNull(() => baseUri); Guard.ObjectNotNull(() => security); Guard.ObjectNotNull(() => headers); Guard.ObjectNotNull(() => body); Guard.ObjectNotNull(() => queryParameters); _queryParameters = queryParameters; ResourcePath = resourcePath; MethodType = methodType; Security = security; Headers = headers; Body = body; BaseUri = baseUri; }
public Task Given_the_user_is_about_to_fetch_comments_per_post_id() { var queryParameters = new List <QueryParameter> { new QueryParameter("postId", PostId) }; _restCall = new RestCall( new Uri("https://jsonplaceholder.typicode.com/comments"), Maybe.CreateNone <string>(), RestCallMethodType.Get, RestSecurity.CreateAnonymous(), new RestHeaders(new List <RestHeader>()), Maybe.CreateNone <RestCallBody>(), new QueryParameters(queryParameters)); return(Task.CompletedTask); }
public string CreateNewMergeRequest(string key, string secretKey) { try { if (!RestSecurity.Authenticate(key, secretKey) || !RestSecurity.Authorize(key, secretKey)) { throw new UnAuthorizedAccesssException(); } return(Guid.NewGuid().ToString()); } catch (UnAuthorizedAccesssException) { var ctx = WebOperationContext.Current; if (ctx != null) { ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.Unauthorized; } return("Error: 1 Unauthorized"); } }
public IRestCallBuilder WithSecurity(RestSecurity security) { _restSecurity = security; return(this); }