diff --git a/.gitignore b/.gitignore index 07d3eea..555a816 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ packages/ bower_components/ test/isn.tests/bin test/isn.tests/obj/ +test/isnd.tests/appsettings.Testing.json diff --git a/.vscode/settings.json b/.vscode/settings.json index 54a8922..732713d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,5 +4,9 @@ "dotnet-test-explorer.showCodeLens": true, "dotnet-test-explorer.testArguments": "", "nxunitExplorer.nunit": "${workspaceFolder}/packages/nunit3-console.1.0.0/lib/net20/nunit3-console.exe", - "nxunitExplorer.xunit": "${workspaceFolder}/packages/xunit.runner.console.2.4.1/tools/net472/xunit.console.exe" + "nxunitExplorer.xunit": "${workspaceFolder}/packages/xunit.runner.console.2.4.1/tools/net472/xunit.console.exe", + "nxunitExplorer.modules": [ + "test/**/bin/**/*.{dll,exe}" + ], + "nxunitExplorer.logpanel": true } \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 3e23a5e..e453c20 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -66,15 +66,6 @@ ], "problemMatcher": "$msCompile" }, - { - "label": "launch-dotnet", - "command": "dotnet", - "type": "process", - "args": [ - "${workspaceFolder}/bin/Debug/netcoreapp2.1/isnd.dll" - ], - "problemMatcher": "$msCompile" - }, { "label": "watch", "command": "dotnet", diff --git a/contrib/upgrade-isn-isnd.sh b/contrib/upgrade-isn-isnd.sh index 3dd45af..0e66dc6 100755 --- a/contrib/upgrade-isn-isnd.sh +++ b/contrib/upgrade-isn-isnd.sh @@ -1,5 +1,5 @@ #!/bin/bash - +set -e # compiler tout dotnet publish -c Release # MAJ du serveur diff --git a/src/isnd/Controllers/PackagesController.cs b/src/isnd/Controllers/PackagesController.cs index a3d1560..ba49932 100644 --- a/src/isnd/Controllers/PackagesController.cs +++ b/src/isnd/Controllers/PackagesController.cs @@ -24,7 +24,7 @@ namespace isnd.Controllers const int maxTake = 100; const string defaultSemVer = "2.0.0"; - private readonly Resource[] _ressources; + private readonly Resource[] _resources; private readonly ILogger _logger; private readonly IDataProtector _protector; @@ -48,13 +48,13 @@ namespace isnd.Controllers _dbContext = dbContext; _packageManager = pm; _unleashĈlient = unleashĈlient; - _ressources = _packageManager.GetResources(_unleashĈlient).ToArray(); + _resources = _packageManager.GetResources(_unleashĈlient).ToArray(); } [HttpGet(_pkgRootPrefix + ApiConfig.Base)] public IActionResult ApiIndex() { - return Ok(_ressources); + return Ok(new { version = "3.0.0", resources = _resources }); } // GET /autocomplete?id=isn.protocol&prerelease=true diff --git a/src/isnd/Controllers/Resource.cs b/src/isnd/Controllers/Resource.cs index 7157308..c1950c2 100644 --- a/src/isnd/Controllers/Resource.cs +++ b/src/isnd/Controllers/Resource.cs @@ -1,10 +1,17 @@ +using Newtonsoft.Json; + namespace isnd.Controllers { public class Resource { - public string id {get; set; } - public string type {get; set; } - public string comment {get; set; } + [JsonProperty("@id")] + public string Id {get; set; } + + [JsonProperty("@type")] + public string Type {get; set; } + + [JsonProperty("comment")] + public string Comment {get; set; } } } \ No newline at end of file diff --git a/src/isnd/Services/PackageManager.cs b/src/isnd/Services/PackageManager.cs index df85242..394391c 100644 --- a/src/isnd/Services/PackageManager.cs +++ b/src/isnd/Services/PackageManager.cs @@ -40,43 +40,43 @@ namespace isnd.Services res.Add( new Resource { - id = extUrl + ApiConfig.Publish, - type = "PackagePublish/2.0.0", - comment = "Package Publish service" + Id = extUrl + ApiConfig.Publish, + Type = "PackagePublish/2.0.0", + Comment = "Package Publish service" }); // under dev, only leash in release mode if (unleashClient.IsEnabled("pkg-get", false)) res.Add( new Resource { - id = extUrl + ApiConfig.Base, - type = "PackageBaseAddress/3.0.0", - comment = "Package Base Address service" + Id = extUrl + ApiConfig.Base, + Type = "PackageBaseAddress/3.0.0", + Comment = "Package Base Address service" }); if (unleashClient.IsEnabled("pkg-autocomplete", false)) res.Add( new Resource { - id = extUrl + ApiConfig.AutoComplete, - type = "SearchAutocompleteService/3.5.0", - comment = "Auto complete service" + Id = extUrl + ApiConfig.AutoComplete, + Type = "SearchAutocompleteService/3.5.0", + Comment = "Auto complete service" }); if (unleashClient.IsEnabled("pkg-search", false)) res.Add( new Resource { - id = extUrl + ApiConfig.Search, - type = "SearchQueryService/3.5.0", - comment = "Search Query service" + Id = extUrl + ApiConfig.Search, + Type = "SearchQueryService/3.5.0", + Comment = "Search Query service" }); if (unleashClient.IsEnabled("pkg-catalog", false)) res.Add( new Resource { - id = extUrl + ApiConfig.Catalog, - type = "Catalog/3.0.0", - comment = "Package Catalog Index" + Id = extUrl + ApiConfig.Catalog, + Type = "Catalog/3.0.0", + Comment = "Package Catalog Index" }); return res; diff --git a/test/isn.tests/UnitTest1.cs b/test/isn.tests/UnitTest1.cs index 946718a..c52b45d 100644 --- a/test/isn.tests/UnitTest1.cs +++ b/test/isn.tests/UnitTest1.cs @@ -1,4 +1,6 @@ using System; +using System.IO; +using System.Text; using NUnit.Framework; namespace isn.tests @@ -20,20 +22,7 @@ namespace isn.tests } [Test] - public void Test1() - { - string pass = "a"; - isn.IDataProtector _protector = new isn.DefaultDataProtector(); - string protectedpass = _protector.Protect(pass); - string unprotectedpass = _protector.UnProtect(protectedpass); - Console.WriteLine(protectedpass); - Assert.AreEqual(pass, unprotectedpass); - Assert.Pass(); - } - - - [Test] - public void Test26() + public void HAveADefaultDataProtector() { string pass = "a lame and big pass"; isn.IDataProtector _protector = new isn.DefaultDataProtector(); @@ -41,8 +30,10 @@ namespace isn.tests string unprotectedpass = _protector.UnProtect(protectedpass); Console.WriteLine(protectedpass); Assert.AreEqual(pass, unprotectedpass); - Assert.Pass(); + Assert.Pass($"Good jod man! (decoding {protectedpass})"); } + + // Not a [Test] public void TestParseCplus() { INeedEngine engine = new Engine(); @@ -50,12 +41,14 @@ namespace isn.tests Assert.Equals((INeedEngine)engine.Parse("c+"), c.Add(Ring.One)); } + public void AssertIRingIsABody() { Ring c = new Ring(); Ring one = Ring.One; Assert.True(c.Mult(one).Equals(c)); } + public void AssertIRingIsARing() { AssertIRingIsABody(); @@ -63,6 +56,19 @@ namespace isn.tests IRing zero = Ring.Zero; Assert.True(c.Add(zero).Equals(c)); } + + [Test] + public void AssertReadInput() + { + var oldOut = Console.Out; + StringBuilder censoredTxt = new StringBuilder(); + var newOut = new StringWriter(censoredTxt); + Console.SetOut(newOut); + Console.WriteLine("~~censored~~"); + Console.SetOut(oldOut); + Console.Write("Hello "); + Console.Write(censoredTxt); + } } } \ No newline at end of file diff --git a/test/isnd.tests/UnitTestWebHost.cs b/test/isnd.tests/UnitTestWebHost.cs index fc00229..407fd0e 100644 --- a/test/isnd.tests/UnitTestWebHost.cs +++ b/test/isnd.tests/UnitTestWebHost.cs @@ -6,6 +6,8 @@ using isnd.Data; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; + namespace isnd.host.tests { public class UnitTestWebHost @@ -17,7 +19,7 @@ namespace isnd.host.tests public void TestHaveTestDbContextAndMigrate() { string envVar = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); - Assert.Equal("Development", envVar); + IWebHost webhost = BuildWebHost(new string[] { "--urls", testingUrl }); using (var serviceScope = webhost.Services.CreateScope()) @@ -26,16 +28,15 @@ namespace isnd.host.tests try { + var isnSettings = services.GetRequiredService>().Value; var myDependency = services.GetRequiredService(); myDependency.Database.Migrate(); } catch (Exception ex) { - var logger = services.GetRequiredService>(); - logger.LogError(ex, "An error occurred."); + throw new Exception("Failed " + envVar, ex); } } - } public static IWebHost BuildWebHost(string[] args) => diff --git a/test/isnd.tests/appsettings.Development.json b/test/isnd.tests/appsettings.json similarity index 64% rename from test/isnd.tests/appsettings.Development.json rename to test/isnd.tests/appsettings.json index a607b25..daf8b54 100644 --- a/test/isnd.tests/appsettings.Development.json +++ b/test/isnd.tests/appsettings.json @@ -1,6 +1,8 @@ { - "Nuget": { + "Isn": { + "ExternalUrl": "http://localhost:5000", "PackagesRootDir" : "packages", + "ProtectionTitle": "protected-data-v1", "MaxUserKeyCount": 5 }, "Smtp": {