Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 6
0
        public RestSettings(Uri basePath, string resourcePath, RestSecurity restSecurity)
        {
            Guard.ObjectNotNull(() => basePath);
            Guard.ObjectNotNull(() => restSecurity);

            BasePath     = basePath;
            ResourcePath = resourcePath;
            RestSecurity = restSecurity;
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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)));
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
 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>())));
 }
Exemplo n.º 11
0
        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());
        }
Exemplo n.º 12
0
 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>())));
 }
Exemplo n.º 13
0
 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>())));
 }
Exemplo n.º 14
0
 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());
        }
Exemplo n.º 16
0
        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);
        }
Exemplo n.º 17
0
        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)));
        }
Exemplo n.º 18
0
        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;
        }
Exemplo n.º 19
0
        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);
        }
Exemplo n.º 20
0
 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");
     }
 }
Exemplo n.º 21
0
 public IRestCallBuilder WithSecurity(RestSecurity security)
 {
     _restSecurity = security;
     return(this);
 }