From 9ca845ac9d8fc34a801cf47f4ede0765767103e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=A3=20Govinda?= Date: Sun, 23 Jul 2017 13:51:42 -0300 Subject: [PATCH] =?UTF-8?q?Finaliza=C3=A7=C3=A3o=20de=20camada=20de=20view?= =?UTF-8?q?=20para=20os=20testes=20do=20adq.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SyonOnline.ServiceReference.csproj | 6 ++ View/packages.config | 2 +- View/test/acceptance/adqTest.js | 73 ++++++++++++------- WebApi/ScaffoldingReadMe.txt | 53 -------------- WebApi/SyonOnline.WebApi.csproj | 20 ++--- .../Controllers/AdquirenciaController.cs | 33 ++++++--- .../Model/ValidationResult.cs | 21 ++++++ .../Moq/Adquirencia/AdquirenciaInfo.cs | 15 +++- .../Moq/Adquirencia/mockAdquirencia.json | 2 +- WebApi/SyonOnline.WebApi/Program.cs | 2 +- WebApi/WebApi.sln | 22 ------ 11 files changed, 121 insertions(+), 128 deletions(-) delete mode 100644 WebApi/ScaffoldingReadMe.txt delete mode 100644 WebApi/WebApi.sln diff --git a/ServiceReference/SyonOnline.ServiceReference.csproj b/ServiceReference/SyonOnline.ServiceReference.csproj index 1455fd5..d059d62 100644 --- a/ServiceReference/SyonOnline.ServiceReference.csproj +++ b/ServiceReference/SyonOnline.ServiceReference.csproj @@ -2,9 +2,15 @@ netcoreapp1.1 + 1.1.1 + + + + + diff --git a/View/packages.config b/View/packages.config index a415293..81a161e 100644 --- a/View/packages.config +++ b/View/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/View/test/acceptance/adqTest.js b/View/test/acceptance/adqTest.js index a249850..a3fe695 100644 --- a/View/test/acceptance/adqTest.js +++ b/View/test/acceptance/adqTest.js @@ -6,38 +6,59 @@ var async = async; var soap = $.soap; var xmlString = ['', - '', - '', - '', - '', - '', - '', - '', - '']; + '', + '', + '', + '', + '', + '', + '', + '']; describe('Validação ADQ v1', function () { - async.each([1], function (itemNumber, callback) { - describe('Test Case ' + itemNumber, function () { - it("should be a number", function (done) { - - $.ajax({ - type: "GET", //GET or POST or PUT or DELETE verb - url: 'https://dotnetcore-govinda777.c9users.io/api/Values/Get', // Location of the service - crossDomain: true, - success: function (msg) {//On Successfull service call - - assert.equal(itemNumber,itemNumber); - done(); - }, - error: function (msg) {// When Service call fails + var resultTest = [{}, {}]; + + $.ajax({ + type: "GET", //GET or POST or PUT or DELETE verb + async: false, + url: 'http://localhost:50530/api/adquirencia/validateall', // Location of the service + crossDomain: true, + success: function (data) {//On Successfull service call + resultTest = data; + }, + error: function (msg) {// When Service call fails debugger; alert('erro'); - } + } + }); + + async.each(resultTest, function (item) { + + describe('Test Case ' + item.isPass , function () { + + it("isPass :" + item.isPass, function (done) { + + assert.equal(item.isPass, true); + done(); + }); + + it("message :" + item.message, function (done) { + + assert.equal(item.message, ""); + done(); + }); + + it("totalTime :" + item.totalTime, function (done) { + var timeout = item.totalTime > 4; + + assert.isOk(!timeout, timeout ? "TEMPO MAIOR DO QUE O ESPERADO" : "Dentro do esperado"); + done(); + }); }); - }); + }); - callback() - }); + + }); diff --git a/WebApi/ScaffoldingReadMe.txt b/WebApi/ScaffoldingReadMe.txt deleted file mode 100644 index 2bd5fc9..0000000 --- a/WebApi/ScaffoldingReadMe.txt +++ /dev/null @@ -1,53 +0,0 @@ - -ASP.NET MVC core dependencies have been added to the project. -However you may still need to do make changes to your project. -1. Add Scaffolding CLI tool to the project: - - - - -2. Suggested changes to Startup class: - 2.1 Add a constructor: - public IConfigurationRoot Configuration { get; } - - public Startup(IHostingEnvironment env) - { - var builder = new ConfigurationBuilder() - .SetBasePath(env.ContentRootPath) - .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) - .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true) - .AddEnvironmentVariables(); - Configuration = builder.Build(); - } - 2.2 Add MVC services: - public void ConfigureServices(IServiceCollection services) - { - // Add framework services. - services.AddMvc(); - } - - 2.3 Configure web app to use use Configuration and use MVC routing: - - public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) - { - loggerFactory.AddConsole(Configuration.GetSection("Logging")); - loggerFactory.AddDebug(); - - if (env.IsDevelopment()) - { - app.UseDeveloperExceptionPage(); - } - else - { - app.UseExceptionHandler("/Home/Error"); - } - - app.UseStaticFiles(); - - app.UseMvc(routes => - { - routes.MapRoute( - name: "default", - template: "{controller=Home}/{action=Index}/{id?}"); - }); - } diff --git a/WebApi/SyonOnline.WebApi.csproj b/WebApi/SyonOnline.WebApi.csproj index 930c829..191144a 100644 --- a/WebApi/SyonOnline.WebApi.csproj +++ b/WebApi/SyonOnline.WebApi.csproj @@ -19,21 +19,21 @@ - - - + + + - - - - - - + + + + + + - + diff --git a/WebApi/SyonOnline.WebApi/Controllers/AdquirenciaController.cs b/WebApi/SyonOnline.WebApi/Controllers/AdquirenciaController.cs index cbf9def..5d8f231 100644 --- a/WebApi/SyonOnline.WebApi/Controllers/AdquirenciaController.cs +++ b/WebApi/SyonOnline.WebApi/Controllers/AdquirenciaController.cs @@ -6,6 +6,7 @@ using SyonOnline.WebApi.SyonOnline.WebApi.Model; using SyonOnline.WebApi.SyonOnline.WebApi.Moq.Adquirencia; using SyonOnline.ServiceReference.Adquirencia; +using System.Collections.Concurrent; namespace SyonOnline.WebApi.Controllers { @@ -15,27 +16,39 @@ public class AdquirenciaController : Controller // GET api/values/password [HttpGet("{password}")] - public async Task> ValidateFull(string password) + public Task> ValidateFull(string password) { var moq = new AdquirenciaInfo(); + var moqValues = moq.GetCollection(); var service = new KomerciWcfClient(); + var resultCollection = new ConcurrentBag(); var result = new List(); - Parallel.ForEach(moq.GetCollection(), async x => { - result.Add(await CallGetAuthorizedCreditAsync(service, x)); + return Task.Run(() => + { + Parallel.ForEach(moqValues, x => { + var r = CallGetAuthorizedCreditAsync(service, x); + result.Add(r); + }); + + return result; }); - - return result; - } - private async Task CallGetAuthorizedCreditAsync(KomerciWcfClient service, AdquirenciaInfo item) + private ValidationResult CallGetAuthorizedCreditAsync(KomerciWcfClient service, AdquirenciaInfo item) { - var result = await service.GetAuthorizedCreditAsync(item.Request); + var validationResult = new ValidationResult(); + var msg = string.Empty; + var wsResult = service.GetAuthorizedCreditAsync(item.Request); + + wsResult.Wait(); + + validationResult.TimeFinish = DateTime.Now; - item.EqualsResult(result); + validationResult.IsPass = item.EqualsResult(wsResult.Result,out msg); + validationResult.Message = msg; - return new ValidationResult(); + return validationResult; } } } diff --git a/WebApi/SyonOnline.WebApi/Model/ValidationResult.cs b/WebApi/SyonOnline.WebApi/Model/ValidationResult.cs index 2363717..cf63506 100644 --- a/WebApi/SyonOnline.WebApi/Model/ValidationResult.cs +++ b/WebApi/SyonOnline.WebApi/Model/ValidationResult.cs @@ -7,5 +7,26 @@ namespace SyonOnline.WebApi.SyonOnline.WebApi.Model { public class ValidationResult { + private DateTime _timeFinish; + public ValidationResult() + { + TimeStart = DateTime.Now; + } + + public DateTime TimeStart { get; } + public DateTime TimeFinish { + get + { + return _timeFinish; + } + set + { + _timeFinish = value; + TotalTime = (_timeFinish - TimeStart).TotalSeconds; + } + } + public double TotalTime { get; private set; } + public string Message { get; set; } + public bool IsPass { get; set; } } } diff --git a/WebApi/SyonOnline.WebApi/Moq/Adquirencia/AdquirenciaInfo.cs b/WebApi/SyonOnline.WebApi/Moq/Adquirencia/AdquirenciaInfo.cs index 92613de..d906b65 100644 --- a/WebApi/SyonOnline.WebApi/Moq/Adquirencia/AdquirenciaInfo.cs +++ b/WebApi/SyonOnline.WebApi/Moq/Adquirencia/AdquirenciaInfo.cs @@ -13,7 +13,7 @@ public class AdquirenciaInfo public AdquirenciaInfo() { - _fileName = "mockAdquirencia.json"; + _fileName = @"SyonOnline.WebApi\Moq\Adquirencia\mockAdquirencia.json"; } public AdquirenciaInfo(string fileName) @@ -31,17 +31,24 @@ public AdquirenciaInfo(GetAuthorizedCredit request, CreditAuthorizationResponse public CreditAuthorizationResponse Result; public List GetCollection() - { + { var json = System.IO.File.ReadAllText(_fileName); return JsonConvert.DeserializeObject(json).ToList(); } - public bool EqualsResult(object obj) + public bool EqualsResult(object obj, out string message) { - var resultWS = (CreditAuthorizationResponse)obj; + message = string.Empty; + var resultWS = (CreditAuthorizationResponse)obj; + var testPass = this.Result.CodRet == resultWS.CodRet; + if(!testPass) + { + message = string.Format("CodRet | {0} == {1} , {2}", this.Result.CodRet, resultWS.CodRet, resultWS.Msgret); + } + return testPass; } } diff --git a/WebApi/SyonOnline.WebApi/Moq/Adquirencia/mockAdquirencia.json b/WebApi/SyonOnline.WebApi/Moq/Adquirencia/mockAdquirencia.json index b63d0d7..a5ca2d7 100644 --- a/WebApi/SyonOnline.WebApi/Moq/Adquirencia/mockAdquirencia.json +++ b/WebApi/SyonOnline.WebApi/Moq/Adquirencia/mockAdquirencia.json @@ -904,7 +904,7 @@ }, "Result": { "Cet": null, - "CodRet": 72, + "CodRet": 722, "Data": null, "Hora": null, "Juros": null, diff --git a/WebApi/SyonOnline.WebApi/Program.cs b/WebApi/SyonOnline.WebApi/Program.cs index e9ab34f..a270c4e 100644 --- a/WebApi/SyonOnline.WebApi/Program.cs +++ b/WebApi/SyonOnline.WebApi/Program.cs @@ -28,7 +28,7 @@ public static void Main(string[] args) .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup() - .UseUrls("http://0.0.0.0:8080") + //.UseUrls("http://0.0.0.0:8012") .Build(); host.Run(); diff --git a/WebApi/WebApi.sln b/WebApi/WebApi.sln deleted file mode 100644 index 0804f67..0000000 --- a/WebApi/WebApi.sln +++ /dev/null @@ -1,22 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26430.12 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApi", "WebApi.csproj", "{D0D8FFE9-C6AE-4B9A-8FD5-695A66A4A863}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D0D8FFE9-C6AE-4B9A-8FD5-695A66A4A863}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D0D8FFE9-C6AE-4B9A-8FD5-695A66A4A863}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D0D8FFE9-C6AE-4B9A-8FD5-695A66A4A863}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D0D8FFE9-C6AE-4B9A-8FD5-695A66A4A863}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal