uhnit testing from vscode

broken/ef
Paul Schneider 3 years ago
parent e6f4349621
commit f33ca22255
10 changed files with 64 additions and 52 deletions

1
.gitignore vendored

@ -10,3 +10,4 @@ packages/
bower_components/
test/isn.tests/bin
test/isn.tests/obj/
test/isnd.tests/appsettings.Testing.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
}

@ -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",

@ -1,5 +1,5 @@
#!/bin/bash
set -e
# compiler tout
dotnet publish -c Release
# MAJ du serveur

@ -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<PackagesController> _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

@ -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; }
}
}

@ -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;

@ -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);
}
}
}

@ -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<IOptions<isn.Settings>>().Value;
var myDependency = services.GetRequiredService<ApplicationDbContext>();
myDependency.Database.Migrate();
}
catch (Exception ex)
{
var logger = services.GetRequiredService<ILogger<Program>>();
logger.LogError(ex, "An error occurred.");
throw new Exception("Failed " + envVar, ex);
}
}
}
public static IWebHost BuildWebHost(string[] args) =>

@ -1,6 +1,8 @@
{
"Nuget": {
"Isn": {
"ExternalUrl": "http://localhost:5000",
"PackagesRootDir" : "packages",
"ProtectionTitle": "protected-data-v1",
"MaxUserKeyCount": 5
},
"Smtp": {
Loading…