From 130e46ccdf2554b4f957390e7f455cf3d0565c34 Mon Sep 17 00:00:00 2001 From: Viswanatha Swamy Date: Tue, 19 Jan 2021 17:36:15 +0530 Subject: [PATCH] Swamy/15jan2021 small refactoring (#1580) * Small Refactoring inside Basket Service folder * Small Refactoring --- .../Controllers/BasketController.cs | 4 +-- .../Middlewares/ByPassAuthMiddleware.cs | 2 +- .../Middlewares/FailingMiddleware.cs | 6 ++-- .../Middlewares/FailingOptions.cs | 2 +- .../Events/OrderStartedIntegrationEvent.cs | 2 +- .../ProductPriceChangedIntegrationEvent.cs | 2 +- .../Basket/Basket.API/Model/BasketItem.cs | 2 +- src/Services/Basket/Basket.API/Program.cs | 5 +-- .../Basket.API/Services/IdentityService.cs | 2 +- src/Services/Basket/Basket.API/Startup.cs | 34 +++++++++---------- .../Base/BasketTestStartup.cs | 6 ++-- .../Basket.FunctionalTests/BasketScenarios.cs | 2 +- .../RedisBasketRepositoryTests.cs | 4 +-- .../Catalog.API/Grpc/CatalogService.cs | 2 +- 14 files changed, 39 insertions(+), 36 deletions(-) diff --git a/src/Services/Basket/Basket.API/Controllers/BasketController.cs b/src/Services/Basket/Basket.API/Controllers/BasketController.cs index f51dbdb59..0a3b5879b 100644 --- a/src/Services/Basket/Basket.API/Controllers/BasketController.cs +++ b/src/Services/Basket/Basket.API/Controllers/BasketController.cs @@ -46,7 +46,7 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API.Controllers [HttpPost] [ProducesResponseType(typeof(CustomerBasket), (int)HttpStatusCode.OK)] - public async Task> UpdateBasketAsync([FromBody]CustomerBasket value) + public async Task> UpdateBasketAsync([FromBody] CustomerBasket value) { return Ok(await _repository.UpdateBasketAsync(value)); } @@ -55,7 +55,7 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API.Controllers [HttpPost] [ProducesResponseType((int)HttpStatusCode.Accepted)] [ProducesResponseType((int)HttpStatusCode.BadRequest)] - public async Task CheckoutAsync([FromBody]BasketCheckout basketCheckout, [FromHeader(Name = "x-requestid")] string requestId) + public async Task CheckoutAsync([FromBody] BasketCheckout basketCheckout, [FromHeader(Name = "x-requestid")] string requestId) { var userId = _identityService.GetUserIdentity(); diff --git a/src/Services/Basket/Basket.API/Infrastructure/Middlewares/ByPassAuthMiddleware.cs b/src/Services/Basket/Basket.API/Infrastructure/Middlewares/ByPassAuthMiddleware.cs index b3f42c14e..164e896e7 100644 --- a/src/Services/Basket/Basket.API/Infrastructure/Middlewares/ByPassAuthMiddleware.cs +++ b/src/Services/Basket/Basket.API/Infrastructure/Middlewares/ByPassAuthMiddleware.cs @@ -62,7 +62,7 @@ namespace Basket.API.Infrastructure.Middlewares new Claim("name", "Test user"), new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", "Test user"), new Claim("nonce", Guid.NewGuid().ToString()), - new Claim("http://schemas.microsoft.com/identity/claims/identityprovider", "ByPassAuthMiddleware"), + new Claim("http://schemas.microsoft.com/identity/claims/identityprovider", "ByPassAuthMiddleware"), new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname","User"), new Claim("sub", currentUserId), new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname","Microsoft")} diff --git a/src/Services/Basket/Basket.API/Infrastructure/Middlewares/FailingMiddleware.cs b/src/Services/Basket/Basket.API/Infrastructure/Middlewares/FailingMiddleware.cs index 108955bd4..0019a2049 100644 --- a/src/Services/Basket/Basket.API/Infrastructure/Middlewares/FailingMiddleware.cs +++ b/src/Services/Basket/Basket.API/Infrastructure/Middlewares/FailingMiddleware.cs @@ -12,6 +12,7 @@ namespace Basket.API.Infrastructure.Middlewares private bool _mustFail; private readonly FailingOptions _options; private readonly ILogger _logger; + public FailingMiddleware(RequestDelegate next, ILogger logger, FailingOptions options) { _next = next; @@ -19,6 +20,7 @@ namespace Basket.API.Infrastructure.Middlewares _mustFail = false; _logger = logger; } + public async Task Invoke(HttpContext context) { var path = context.Request.Path; @@ -44,7 +46,7 @@ namespace Basket.API.Infrastructure.Middlewares private async Task ProcessConfigRequest(HttpContext context) { var enable = context.Request.Query.Keys.Any(k => k == "enable"); - var disable = context.Request.Query.Keys.Any(k => k == "disable"); + var disable = context.Request.Query.Keys.Any(k => k == "disable"); if (enable && disable) { @@ -86,7 +88,7 @@ namespace Basket.API.Infrastructure.Middlewares } return _mustFail && - (_options.EndpointPaths.Any(x => x == rpath) + (_options.EndpointPaths.Any(x => x == rpath) || _options.EndpointPaths.Count == 0); } } diff --git a/src/Services/Basket/Basket.API/Infrastructure/Middlewares/FailingOptions.cs b/src/Services/Basket/Basket.API/Infrastructure/Middlewares/FailingOptions.cs index 63e1e5525..e8a77f1fd 100644 --- a/src/Services/Basket/Basket.API/Infrastructure/Middlewares/FailingOptions.cs +++ b/src/Services/Basket/Basket.API/Infrastructure/Middlewares/FailingOptions.cs @@ -7,6 +7,6 @@ namespace Basket.API.Infrastructure.Middlewares public string ConfigPath = "/Failing"; public List EndpointPaths { get; set; } = new List(); - public List NotFilteredPaths {get; set;} = new List(); + public List NotFilteredPaths { get; set; } = new List(); } } diff --git a/src/Services/Basket/Basket.API/IntegrationEvents/Events/OrderStartedIntegrationEvent.cs b/src/Services/Basket/Basket.API/IntegrationEvents/Events/OrderStartedIntegrationEvent.cs index b78d10c05..c5c931d85 100644 --- a/src/Services/Basket/Basket.API/IntegrationEvents/Events/OrderStartedIntegrationEvent.cs +++ b/src/Services/Basket/Basket.API/IntegrationEvents/Events/OrderStartedIntegrationEvent.cs @@ -10,6 +10,6 @@ namespace Basket.API.IntegrationEvents.Events public string UserId { get; set; } public OrderStartedIntegrationEvent(string userId) - => UserId = userId; + => UserId = userId; } } diff --git a/src/Services/Basket/Basket.API/IntegrationEvents/Events/ProductPriceChangedIntegrationEvent.cs b/src/Services/Basket/Basket.API/IntegrationEvents/Events/ProductPriceChangedIntegrationEvent.cs index 6f51010be..a0e3ef323 100644 --- a/src/Services/Basket/Basket.API/IntegrationEvents/Events/ProductPriceChangedIntegrationEvent.cs +++ b/src/Services/Basket/Basket.API/IntegrationEvents/Events/ProductPriceChangedIntegrationEvent.cs @@ -6,7 +6,7 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API.IntegrationEvents.Even // An Event is “something that has happened in the past”, therefore its name has to be // An Integration Event is an event that can cause side effects to other microsrvices, Bounded-Contexts or external systems. public class ProductPriceChangedIntegrationEvent : IntegrationEvent - { + { public int ProductId { get; private set; } public decimal NewPrice { get; private set; } diff --git a/src/Services/Basket/Basket.API/Model/BasketItem.cs b/src/Services/Basket/Basket.API/Model/BasketItem.cs index 4d2e4f331..f781d5a60 100644 --- a/src/Services/Basket/Basket.API/Model/BasketItem.cs +++ b/src/Services/Basket/Basket.API/Model/BasketItem.cs @@ -18,7 +18,7 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API.Model if (Quantity < 1) { - results.Add(new ValidationResult("Invalid number of units", new []{ "Quantity" })); + results.Add(new ValidationResult("Invalid number of units", new[] { "Quantity" })); } return results; diff --git a/src/Services/Basket/Basket.API/Program.cs b/src/Services/Basket/Basket.API/Program.cs index 1296256aa..1f450cc8e 100644 --- a/src/Services/Basket/Basket.API/Program.cs +++ b/src/Services/Basket/Basket.API/Program.cs @@ -61,9 +61,10 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API }) .ConfigureAppConfiguration(x => x.AddConfiguration(configuration)) - .UseFailing(options => { + .UseFailing(options => + { options.ConfigPath = "/Failing"; - options.NotFilteredPaths.AddRange(new[] {"/hc","/liveness"}); + options.NotFilteredPaths.AddRange(new[] { "/hc", "/liveness" }); }) .UseStartup() .UseContentRoot(Directory.GetCurrentDirectory()) diff --git a/src/Services/Basket/Basket.API/Services/IdentityService.cs b/src/Services/Basket/Basket.API/Services/IdentityService.cs index d187be8d6..bc6b2faf4 100644 --- a/src/Services/Basket/Basket.API/Services/IdentityService.cs +++ b/src/Services/Basket/Basket.API/Services/IdentityService.cs @@ -6,7 +6,7 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API.Services { public class IdentityService : IIdentityService { - private IHttpContextAccessor _context; + private IHttpContextAccessor _context; public IdentityService(IHttpContextAccessor context) { diff --git a/src/Services/Basket/Basket.API/Startup.cs b/src/Services/Basket/Basket.API/Startup.cs index eb29c12ca..2ca54988a 100644 --- a/src/Services/Basket/Basket.API/Startup.cs +++ b/src/Services/Basket/Basket.API/Startup.cs @@ -211,7 +211,7 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API ConfigureAuth(app); app.UseStaticFiles(); - + app.UseEndpoints(endpoints => { endpoints.MapGrpcService(); @@ -253,22 +253,22 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API private void ConfigureAuthService(IServiceCollection services) { - // prevent from mapping "sub" claim to nameidentifier. - JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Remove("sub"); - - var identityUrl = Configuration.GetValue("IdentityUrl"); - - services.AddAuthentication(options => - { - options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; - options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; - - }).AddJwtBearer(options => - { - options.Authority = identityUrl; - options.RequireHttpsMetadata = false; - options.Audience = "basket"; - }); + // prevent from mapping "sub" claim to nameidentifier. + JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Remove("sub"); + + var identityUrl = Configuration.GetValue("IdentityUrl"); + + services.AddAuthentication(options => + { + options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; + options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; + + }).AddJwtBearer(options => + { + options.Authority = identityUrl; + options.RequireHttpsMetadata = false; + options.Audience = "basket"; + }); } protected virtual void ConfigureAuth(IApplicationBuilder app) diff --git a/src/Services/Basket/Basket.FunctionalTests/Base/BasketTestStartup.cs b/src/Services/Basket/Basket.FunctionalTests/Base/BasketTestStartup.cs index cb8ec8641..d0237407d 100644 --- a/src/Services/Basket/Basket.FunctionalTests/Base/BasketTestStartup.cs +++ b/src/Services/Basket/Basket.FunctionalTests/Base/BasketTestStartup.cs @@ -1,9 +1,9 @@ -using System; -using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Routing; using Microsoft.eShopOnContainers.Services.Basket.API; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; +using System; namespace Basket.FunctionalTests.Base { @@ -20,7 +20,7 @@ namespace Basket.FunctionalTests.Base services.Configure(Configuration); return base.ConfigureServices(services); } - + protected override void ConfigureAuth(IApplicationBuilder app) { if (Configuration["isTest"] == bool.TrueString.ToLowerInvariant()) diff --git a/src/Services/Basket/Basket.FunctionalTests/BasketScenarios.cs b/src/Services/Basket/Basket.FunctionalTests/BasketScenarios.cs index c5eacfa4e..6928d5cd2 100644 --- a/src/Services/Basket/Basket.FunctionalTests/BasketScenarios.cs +++ b/src/Services/Basket/Basket.FunctionalTests/BasketScenarios.cs @@ -73,7 +73,7 @@ namespace Basket.FunctionalTests string BuildCheckout() { - var checkoutBasket = new + var checkoutBasket = new { City = "city", Street = "street", diff --git a/src/Services/Basket/Basket.FunctionalTests/RedisBasketRepositoryTests.cs b/src/Services/Basket/Basket.FunctionalTests/RedisBasketRepositoryTests.cs index 67931c443..a13c1f6a2 100644 --- a/src/Services/Basket/Basket.FunctionalTests/RedisBasketRepositoryTests.cs +++ b/src/Services/Basket/Basket.FunctionalTests/RedisBasketRepositoryTests.cs @@ -33,7 +33,7 @@ namespace Basket.FunctionalTests Assert.Single(basket.Items); } - + } [Fact] @@ -58,7 +58,7 @@ namespace Basket.FunctionalTests Assert.True(deleteResult); Assert.Null(result); - } + } } RedisBasketRepository BuildBasketRepository(ConnectionMultiplexer connMux) diff --git a/src/Services/Catalog/Catalog.API/Grpc/CatalogService.cs b/src/Services/Catalog/Catalog.API/Grpc/CatalogService.cs index 4fabfbeb4..91270b576 100644 --- a/src/Services/Catalog/Catalog.API/Grpc/CatalogService.cs +++ b/src/Services/Catalog/Catalog.API/Grpc/CatalogService.cs @@ -19,7 +19,7 @@ namespace Catalog.API.Grpc private readonly CatalogContext _catalogContext; private readonly CatalogSettings _settings; private readonly ILogger _logger; - + public CatalogService(CatalogContext dbContext, IOptions settings, ILogger logger) { _settings = settings.Value;