diff --git a/.gitignore b/.gitignore
index 2c6c27e..68dafe9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,24 @@
.sass-cache/
-bin/
-obj/
+/src/isnd/bin/
+/src/isnd/obj/
+/src/isn/obj
+/src/isn/bin
+/src/isn/.vscode/
+/test/isnd.tests/obj/
+/test/isnd.tests/bin/
+/packages/
bower_components/
-appsettings.*.json
+/test/isn.tests/bin
+/test/isn.tests/obj/
+appsettings.Testing.json
+appsettings.Development.json
+/wwwroot/.sass-cache/
+/src/isnd/wwwroot/.sass-cache/
+/src/isn.abst/bin
+/src/isn.abst/obj
+/src/isnd/packages/
+/test/data/test-isn/bin/
+/test/data/test-isn/obj
.fake
/artifacts/
/.vs/
diff --git a/Directory.Build.props b/Directory.Build.props
deleted file mode 100644
index ff02831..0000000
--- a/Directory.Build.props
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
- net10.0
- true
- WTFPL
- 1.0.8
- true
- 85fd766d-5d23-4476-aed1-463b2942e86a
- WTFPL
-
-
\ No newline at end of file
diff --git a/GitVersion.yml b/GitVersion.yml
new file mode 100644
index 0000000..122fa7e
--- /dev/null
+++ b/GitVersion.yml
@@ -0,0 +1,5 @@
+mode: Mainline
+branches: {}
+ignore:
+ sha: []
+merge-message-formats: {}
diff --git a/README.md b/README.md
index 8d9da00..0e34410 100644
--- a/README.md
+++ b/README.md
@@ -55,8 +55,8 @@ sudo systemctl enable isnd
````bash
sudo mkdir /usr/local/lib/isn
-sudo cp -a src/isn/bin/Release/net7.0/* /usr/local/lib/isn
-sudo chown -R root:root /usr/local/lib/isn
+sudo cp -a src/isn/bin/Release/net6.0/* /usr/local/lib/isn
+sudo chown -R root.root /usr/local/lib/isn
sudo ln -s /usr/local/lib/isn/isn /usr/local/bin/isn
````
diff --git a/isn.sln b/isn.sln
index 41f4f70..1e20c9f 100644
--- a/isn.sln
+++ b/isn.sln
@@ -1,101 +1,101 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.6.30114.105
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{3C312E42-9A47-4BED-8265-A405FCA6AFFF}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isnd.tests", "test\isnd.tests\isnd.tests.csproj", "{9D758F00-17FF-433D-B088-F9C2D97C9BD1}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E8A2DF68-847A-4D88-B002-64FB666F696C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isnd", "src\isnd\isnd.csproj", "{468DB0E4-6221-4E01-BEFF-F452865E59C1}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isn", "src\isn\isn.csproj", "{910E800A-59AE-46C4-B7C7-879986179246}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isn.tests", "test\isn.tests\isn.tests.csproj", "{305F640E-11BA-44F9-95E0-C6882E9CD151}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isn.abstract", "src\isn.abstract\isn.abstract.csproj", "{F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|Any CPU = Release|Any CPU
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x64.ActiveCfg = Debug|Any CPU
- {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x64.Build.0 = Debug|Any CPU
- {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x86.ActiveCfg = Debug|Any CPU
- {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x86.Build.0 = Debug|Any CPU
- {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|Any CPU.Build.0 = Release|Any CPU
- {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x64.ActiveCfg = Release|Any CPU
- {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x64.Build.0 = Release|Any CPU
- {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x86.ActiveCfg = Release|Any CPU
- {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x86.Build.0 = Release|Any CPU
- {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x64.ActiveCfg = Debug|Any CPU
- {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x64.Build.0 = Debug|Any CPU
- {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x86.ActiveCfg = Debug|Any CPU
- {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x86.Build.0 = Debug|Any CPU
- {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|Any CPU.Build.0 = Release|Any CPU
- {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x64.ActiveCfg = Release|Any CPU
- {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x64.Build.0 = Release|Any CPU
- {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x86.ActiveCfg = Release|Any CPU
- {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x86.Build.0 = Release|Any CPU
- {910E800A-59AE-46C4-B7C7-879986179246}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {910E800A-59AE-46C4-B7C7-879986179246}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x64.ActiveCfg = Debug|Any CPU
- {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x64.Build.0 = Debug|Any CPU
- {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x86.ActiveCfg = Debug|Any CPU
- {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x86.Build.0 = Debug|Any CPU
- {910E800A-59AE-46C4-B7C7-879986179246}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {910E800A-59AE-46C4-B7C7-879986179246}.Release|Any CPU.Build.0 = Release|Any CPU
- {910E800A-59AE-46C4-B7C7-879986179246}.Release|x64.ActiveCfg = Release|Any CPU
- {910E800A-59AE-46C4-B7C7-879986179246}.Release|x64.Build.0 = Release|Any CPU
- {910E800A-59AE-46C4-B7C7-879986179246}.Release|x86.ActiveCfg = Release|Any CPU
- {910E800A-59AE-46C4-B7C7-879986179246}.Release|x86.Build.0 = Release|Any CPU
- {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x64.ActiveCfg = Debug|Any CPU
- {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x64.Build.0 = Debug|Any CPU
- {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x86.ActiveCfg = Debug|Any CPU
- {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x86.Build.0 = Debug|Any CPU
- {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|Any CPU.Build.0 = Release|Any CPU
- {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x64.ActiveCfg = Release|Any CPU
- {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x64.Build.0 = Release|Any CPU
- {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x86.ActiveCfg = Release|Any CPU
- {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x86.Build.0 = Release|Any CPU
- {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Debug|x64.ActiveCfg = Debug|Any CPU
- {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Debug|x64.Build.0 = Debug|Any CPU
- {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Debug|x86.ActiveCfg = Debug|Any CPU
- {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Debug|x86.Build.0 = Debug|Any CPU
- {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Release|Any CPU.Build.0 = Release|Any CPU
- {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Release|x64.ActiveCfg = Release|Any CPU
- {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Release|x64.Build.0 = Release|Any CPU
- {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Release|x86.ActiveCfg = Release|Any CPU
- {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2}.Release|x86.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {9D758F00-17FF-433D-B088-F9C2D97C9BD1} = {3C312E42-9A47-4BED-8265-A405FCA6AFFF}
- {468DB0E4-6221-4E01-BEFF-F452865E59C1} = {E8A2DF68-847A-4D88-B002-64FB666F696C}
- {910E800A-59AE-46C4-B7C7-879986179246} = {E8A2DF68-847A-4D88-B002-64FB666F696C}
- {305F640E-11BA-44F9-95E0-C6882E9CD151} = {3C312E42-9A47-4BED-8265-A405FCA6AFFF}
- {F0671F01-ADD7-47A6-8A29-1AAC8565DBE2} = {E8A2DF68-847A-4D88-B002-64FB666F696C}
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.6.30114.105
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{3C312E42-9A47-4BED-8265-A405FCA6AFFF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isnd.tests", "test\isnd.tests\isnd.tests.csproj", "{9D758F00-17FF-433D-B088-F9C2D97C9BD1}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E8A2DF68-847A-4D88-B002-64FB666F696C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isnd", "src\isnd\isnd.csproj", "{468DB0E4-6221-4E01-BEFF-F452865E59C1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isn", "src\isn\isn.csproj", "{910E800A-59AE-46C4-B7C7-879986179246}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isn.tests", "test\isn.tests\isn.tests.csproj", "{305F640E-11BA-44F9-95E0-C6882E9CD151}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "isn.abst", "src\isn.abst\isn.abst.csproj", "{4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x64.Build.0 = Debug|Any CPU
+ {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Debug|x86.Build.0 = Debug|Any CPU
+ {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x64.ActiveCfg = Release|Any CPU
+ {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x64.Build.0 = Release|Any CPU
+ {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x86.ActiveCfg = Release|Any CPU
+ {9D758F00-17FF-433D-B088-F9C2D97C9BD1}.Release|x86.Build.0 = Release|Any CPU
+ {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x64.Build.0 = Debug|Any CPU
+ {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Debug|x86.Build.0 = Debug|Any CPU
+ {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x64.ActiveCfg = Release|Any CPU
+ {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x64.Build.0 = Release|Any CPU
+ {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x86.ActiveCfg = Release|Any CPU
+ {468DB0E4-6221-4E01-BEFF-F452865E59C1}.Release|x86.Build.0 = Release|Any CPU
+ {910E800A-59AE-46C4-B7C7-879986179246}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {910E800A-59AE-46C4-B7C7-879986179246}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x64.Build.0 = Debug|Any CPU
+ {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {910E800A-59AE-46C4-B7C7-879986179246}.Debug|x86.Build.0 = Debug|Any CPU
+ {910E800A-59AE-46C4-B7C7-879986179246}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {910E800A-59AE-46C4-B7C7-879986179246}.Release|Any CPU.Build.0 = Release|Any CPU
+ {910E800A-59AE-46C4-B7C7-879986179246}.Release|x64.ActiveCfg = Release|Any CPU
+ {910E800A-59AE-46C4-B7C7-879986179246}.Release|x64.Build.0 = Release|Any CPU
+ {910E800A-59AE-46C4-B7C7-879986179246}.Release|x86.ActiveCfg = Release|Any CPU
+ {910E800A-59AE-46C4-B7C7-879986179246}.Release|x86.Build.0 = Release|Any CPU
+ {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x64.Build.0 = Debug|Any CPU
+ {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {305F640E-11BA-44F9-95E0-C6882E9CD151}.Debug|x86.Build.0 = Debug|Any CPU
+ {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|Any CPU.Build.0 = Release|Any CPU
+ {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x64.ActiveCfg = Release|Any CPU
+ {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x64.Build.0 = Release|Any CPU
+ {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x86.ActiveCfg = Release|Any CPU
+ {305F640E-11BA-44F9-95E0-C6882E9CD151}.Release|x86.Build.0 = Release|Any CPU
+ {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Debug|x64.Build.0 = Debug|Any CPU
+ {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Debug|x86.Build.0 = Debug|Any CPU
+ {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Release|x64.ActiveCfg = Release|Any CPU
+ {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Release|x64.Build.0 = Release|Any CPU
+ {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Release|x86.ActiveCfg = Release|Any CPU
+ {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7}.Release|x86.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {9D758F00-17FF-433D-B088-F9C2D97C9BD1} = {3C312E42-9A47-4BED-8265-A405FCA6AFFF}
+ {468DB0E4-6221-4E01-BEFF-F452865E59C1} = {E8A2DF68-847A-4D88-B002-64FB666F696C}
+ {910E800A-59AE-46C4-B7C7-879986179246} = {E8A2DF68-847A-4D88-B002-64FB666F696C}
+ {305F640E-11BA-44F9-95E0-C6882E9CD151} = {3C312E42-9A47-4BED-8265-A405FCA6AFFF}
+ {4EFA7D3E-8B31-4BF7-96D1-B9F2867735C7} = {E8A2DF68-847A-4D88-B002-64FB666F696C}
+ EndGlobalSection
+EndGlobal
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
deleted file mode 100644
index a0a3b95..0000000
--- a/src/Directory.Build.props
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
- net10.0
- true
- WTFPL
- 1.0.8
- true
- 85fd766d-5d23-4476-aed1-463b2942e86a
- WTFPL
-
-
\ No newline at end of file
diff --git a/src/isn.abstract/ApiConfig.cs b/src/isn.abst/ApiConfig.cs
similarity index 97%
rename from src/isn.abstract/ApiConfig.cs
rename to src/isn.abst/ApiConfig.cs
index 9ad590c..42d9633 100644
--- a/src/isn.abstract/ApiConfig.cs
+++ b/src/isn.abst/ApiConfig.cs
@@ -1,6 +1,4 @@
-
-
-using Isn.Abstract;
+using isn.abst;
namespace isnd.Entities
{
diff --git a/src/isn.abstract/ApiIndexViewModel.cs b/src/isn.abst/ApiIndexViewModel.cs
similarity index 91%
rename from src/isn.abstract/ApiIndexViewModel.cs
rename to src/isn.abst/ApiIndexViewModel.cs
index 7034ae9..a8e9709 100644
--- a/src/isn.abstract/ApiIndexViewModel.cs
+++ b/src/isn.abst/ApiIndexViewModel.cs
@@ -1,7 +1,7 @@
using isnd.Data.Catalog;
using Newtonsoft.Json;
-namespace Isn.Abstract
+namespace isn.Abstract
{
public class ApiIndexViewModel : HappyIdOwner
{
diff --git a/src/isn.abstract/Constants.cs b/src/isn.abst/Constants.cs
similarity index 92%
rename from src/isn.abstract/Constants.cs
rename to src/isn.abst/Constants.cs
index 01d2914..59ab714 100644
--- a/src/isn.abstract/Constants.cs
+++ b/src/isn.abst/Constants.cs
@@ -1,4 +1,4 @@
-namespace Isn.Abstract
+namespace isn.abst
{
public static class Constants
{
diff --git a/src/isn.abstract/HappyIdOwner.cs b/src/isn.abst/HappyIdOwner.cs
similarity index 100%
rename from src/isn.abstract/HappyIdOwner.cs
rename to src/isn.abst/HappyIdOwner.cs
diff --git a/src/isn.abstract/Resource.cs b/src/isn.abst/Resource.cs
similarity index 90%
rename from src/isn.abstract/Resource.cs
rename to src/isn.abst/Resource.cs
index da21eff..ab069a5 100644
--- a/src/isn.abstract/Resource.cs
+++ b/src/isn.abst/Resource.cs
@@ -1,7 +1,7 @@
using isnd.Data.Catalog;
using Newtonsoft.Json;
-namespace Isn.Abstract
+namespace isn.Abstract
{
public class Resource : HappyIdOwner
{
diff --git a/src/isn.abstract/SafeNameAttribute.cs b/src/isn.abst/SafeNameAttribute.cs
similarity index 100%
rename from src/isn.abstract/SafeNameAttribute.cs
rename to src/isn.abst/SafeNameAttribute.cs
diff --git a/src/isn.abst/isn.abst.csproj b/src/isn.abst/isn.abst.csproj
new file mode 100644
index 0000000..411e36d
--- /dev/null
+++ b/src/isn.abst/isn.abst.csproj
@@ -0,0 +1,15 @@
+
+
+ 1.0.1
+ 1.0.7
+ net7.0
+ NETSDK1138
+ 1.0.7.0
+ 1.0.7.0
+ 1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/isn.abstract/isn.abstract.csproj b/src/isn.abstract/isn.abstract.csproj
deleted file mode 100644
index 8fdeb35..0000000
--- a/src/isn.abstract/isn.abstract.csproj
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- true
- 1.0.0.0
- 1.0.0.0
- 1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85
- 1.0.0
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/isn/Constants.cs b/src/isn/Constants.cs
index 3bb3423..e68c94c 100644
--- a/src/isn/Constants.cs
+++ b/src/isn/Constants.cs
@@ -1,4 +1,4 @@
-namespace Isn
+namespace isn
{
internal static class Constants
{
diff --git a/src/isn/IDataProtector.cs b/src/isn/IDataProtector.cs
index e0904ac..d91ea23 100644
--- a/src/isn/IDataProtector.cs
+++ b/src/isn/IDataProtector.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text;
-namespace Isn
+namespace isn
{
public interface IDataProtector
{
diff --git a/src/isn/IsnSourceSettings.cs b/src/isn/IsnSourceSettings.cs
index 1390359..bc2491c 100644
--- a/src/isn/IsnSourceSettings.cs
+++ b/src/isn/IsnSourceSettings.cs
@@ -1,4 +1,4 @@
-namespace Isn
+namespace isn
{
public class IsnSourceSettings
{
diff --git a/src/isn/IsndErrorMessage.cs b/src/isn/IsndErrorMessage.cs
index bdd61d7..fa6b062 100644
--- a/src/isn/IsndErrorMessage.cs
+++ b/src/isn/IsndErrorMessage.cs
@@ -1,4 +1,4 @@
-namespace Isn
+namespace isn
{
public class IsndErrorMessage
{
diff --git a/src/isn/Program.cs b/src/isn/Program.cs
index 6f1752d..8a543a6 100644
--- a/src/isn/Program.cs
+++ b/src/isn/Program.cs
@@ -5,7 +5,7 @@ using System.Linq;
using Mono.Options;
using Newtonsoft.Json;
-namespace Isn
+namespace isn
{
public partial class Program
{
diff --git a/src/isn/Settings.cs b/src/isn/Settings.cs
index 9c4c1c8..2bd0def 100644
--- a/src/isn/Settings.cs
+++ b/src/isn/Settings.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
-namespace Isn
+namespace isn
{
public class SourceSettings
{
diff --git a/src/isn/SourceHelpers.cs b/src/isn/SourceHelpers.cs
index 8b1ba21..ba8762b 100644
--- a/src/isn/SourceHelpers.cs
+++ b/src/isn/SourceHelpers.cs
@@ -4,9 +4,9 @@ using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
-using Isn.Abstract;
+using isn.Abstract;
-namespace Isn
+namespace isn
{
public static class SourceHelpers
{
diff --git a/src/isn/UploadFilesToServerUsingHttpClient.cs b/src/isn/UploadFilesToServerUsingHttpClient.cs
index de5c33b..ce51297 100644
--- a/src/isn/UploadFilesToServerUsingHttpClient.cs
+++ b/src/isn/UploadFilesToServerUsingHttpClient.cs
@@ -5,7 +5,7 @@ using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
-namespace Isn
+namespace isn
{
public static class UploadFilesToServerUsingHttpClient
{
diff --git a/src/isn/UploadFilesToServerUsingWebRequest.cs b/src/isn/UploadFilesToServerUsingWebRequest.cs
index cd2aad8..21ead1a 100644
--- a/src/isn/UploadFilesToServerUsingWebRequest.cs
+++ b/src/isn/UploadFilesToServerUsingWebRequest.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
-namespace Isn
+namespace isn
{
public class UploadFilesToServerUsingWebRequest
diff --git a/src/isn/commands/PushCommand.cs b/src/isn/commands/PushCommand.cs
index 0f6f303..bf4e08a 100644
--- a/src/isn/commands/PushCommand.cs
+++ b/src/isn/commands/PushCommand.cs
@@ -6,7 +6,7 @@ using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
-namespace Isn
+namespace isn
{
public static class PushCommand
{
diff --git a/src/isn/commands/push.cs b/src/isn/commands/push.cs
index e00e307..58daf08 100644
--- a/src/isn/commands/push.cs
+++ b/src/isn/commands/push.cs
@@ -4,7 +4,7 @@ using System.Threading.Tasks;
using Newtonsoft.Json;
-namespace Isn
+namespace isn
{
partial class Program
diff --git a/src/isn/commands/set-api-key.cs b/src/isn/commands/set-api-key.cs
index 0c4c2a5..7b2f018 100644
--- a/src/isn/commands/set-api-key.cs
+++ b/src/isn/commands/set-api-key.cs
@@ -4,7 +4,7 @@ using System.IO;
using Newtonsoft.Json;
-namespace Isn
+namespace isn
{
partial class Program
diff --git a/src/isn/commands/show.config.cs b/src/isn/commands/show.config.cs
index b1d8cd8..ff00e36 100644
--- a/src/isn/commands/show.config.cs
+++ b/src/isn/commands/show.config.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
using Newtonsoft.Json;
-namespace Isn
+namespace isn
{
partial class Program
diff --git a/src/isn/commands/sources.add.cs b/src/isn/commands/sources.add.cs
index b01fe91..90d2aed 100644
--- a/src/isn/commands/sources.add.cs
+++ b/src/isn/commands/sources.add.cs
@@ -3,7 +3,7 @@ using System;
using System.Collections.Generic;
using Newtonsoft.Json;
-namespace Isn
+namespace isn
{
partial class Program
diff --git a/src/isn/commands/sources.list.cs b/src/isn/commands/sources.list.cs
index 79a8c7f..6a1239a 100644
--- a/src/isn/commands/sources.list.cs
+++ b/src/isn/commands/sources.list.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;
-namespace Isn
+namespace isn
{
partial class Program
{
diff --git a/src/isn/commands/sources.set-default.cs b/src/isn/commands/sources.set-default.cs
index a30a1c1..8a691b3 100644
--- a/src/isn/commands/sources.set-default.cs
+++ b/src/isn/commands/sources.set-default.cs
@@ -1,7 +1,7 @@
using System;
using System.Linq;
-namespace Isn
+namespace isn
{
partial class Program
diff --git a/src/isn/isn.csproj b/src/isn/isn.csproj
index a99ff29..a61ef49 100644
--- a/src/isn/isn.csproj
+++ b/src/isn/isn.csproj
@@ -1,24 +1,25 @@
Exe
+ net7.0
nuget_cli
+ 45b74c62-05bc-4603-95b4-3e80ae2fdf50
+ 1.0.7
+ 1.0.1
true
+ WTFPL
true
NETSDK1138
- 1.0.0.0
- 1.0.0.0
- 1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85
- 1.0.0
+ 1.0.7.0
+ 1.0.7.0
+ 1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
- all
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/isn/model/PushReport.cs b/src/isn/model/PushReport.cs
index 61f54bd..d8e082e 100644
--- a/src/isn/model/PushReport.cs
+++ b/src/isn/model/PushReport.cs
@@ -1,7 +1,7 @@
using System.Net;
using System.Text;
-namespace Isn
+namespace isn
{
public class PushReport
{
diff --git a/src/isnd/Controllers/HomeController.cs b/src/isnd/Controllers/HomeController.cs
index 399d228..45512c1 100644
--- a/src/isnd/Controllers/HomeController.cs
+++ b/src/isnd/Controllers/HomeController.cs
@@ -1,9 +1,12 @@
-using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Logging;
using isnd.Data;
using System.Linq;
using isnd.ViewModels;
+using Unleash;
using System.Reflection;
-using Isn.Abstract;
+using Microsoft.EntityFrameworkCore;
namespace isnd.Controllers
{
@@ -13,33 +16,31 @@ namespace isnd.Controllers
public class HomeController : Controller
{
private readonly ApplicationDbContext _dbContext;
+ private readonly IUnleash _unleashĈlient;
///
/// Home controller ctor
///
///
+ ///
public HomeController(
- ApplicationDbContext dbContext)
+ ApplicationDbContext dbContext,
+ IUnleash unleashĈlient)
{
_dbContext = dbContext;
+ _unleashĈlient = unleashĈlient;
}
-
- /**
- * Index
- */
+
public IActionResult Index()
{
- return View(new HomeIndexViewModel
- {
+ return View(new HomeIndexViewModel{
PkgCount = _dbContext.Packages
.Where(p => p.Versions.Count > 0)
- .Count()
- });
+ .Count(),
+ UnleashClient = _unleashĈlient
+ });
}
- /**
- * About
- */
public IActionResult About()
{
ViewData["Message"] = "Your application description page.";
@@ -47,24 +48,18 @@ namespace isnd.Controllers
return View();
}
- /**
- * Contact
- */
public IActionResult Contact()
{
ViewData["Message"] = "Your contact page.";
- var ass = typeof(Resource).GetType().Assembly;
+ var ass = typeof(isn.Abstract.Resource).GetType().Assembly;
var attrs = ass.GetCustomAttributes(true);
// ass.GetCustomAttributes(true);
- System.Reflection.AssemblyFileVersionAttribute v = (AssemblyFileVersionAttribute)
+ System.Reflection.AssemblyFileVersionAttribute v = (AssemblyFileVersionAttribute)
GetType().Assembly.GetCustomAttribute(typeof(AssemblyFileVersionAttribute));
return View();
}
- /**
- * Privacy
- */
public IActionResult Privacy()
{
ViewData["Message"] = "Your Privacy page.";
@@ -72,9 +67,6 @@ namespace isnd.Controllers
return View(ViewData);
}
- /**
- * Error
- */
public IActionResult Error()
{
return View();
diff --git a/src/isnd/Controllers/Packages/ApiIndex.cs b/src/isnd/Controllers/Packages/ApiIndex.cs
index eb2fc87..56930cf 100644
--- a/src/isnd/Controllers/Packages/ApiIndex.cs
+++ b/src/isnd/Controllers/Packages/ApiIndex.cs
@@ -1,9 +1,12 @@
using Microsoft.AspNetCore.Mvc;
-using isnd.Services;
-using isnd.Interfaces;
-using System.Linq;
using isnd.Entities;
-using Isn.Abstract;
+using isnd.Services;
+using isn.Abstract;
+using isn.abst;
+using isnd.Interfaces;
+using Unleash;
+using System.Linq;
+
namespace isnd.Controllers
{
@@ -19,10 +22,11 @@ namespace isnd.Controllers
/// Api Controller Constructor
///
///
- public ApiController(IPackageManager pm)
+ ///
+ public ApiController(IPackageManager pm, IUnleash unleashĈlient)
{
packageManager = pm;
- resources = packageManager.GetResources().ToArray();
+ resources = packageManager.GetResources(unleashĈlient).ToArray();
}
///
diff --git a/src/isnd/Controllers/Packages/PackagesController.AutoComplete.cs b/src/isnd/Controllers/Packages/PackagesController.AutoComplete.cs
index 57cd4b5..6f1fbf6 100644
--- a/src/isnd/Controllers/Packages/PackagesController.AutoComplete.cs
+++ b/src/isnd/Controllers/Packages/PackagesController.AutoComplete.cs
@@ -1,7 +1,7 @@
using isnd.Services;
using isnd.Entities;
using Microsoft.AspNetCore.Mvc;
-using Isn.Abstract;
+using isn.abst;
namespace isnd.Controllers
{
diff --git a/src/isnd/Controllers/Packages/PackagesController.Catalog.cs b/src/isnd/Controllers/Packages/PackagesController.Catalog.cs
index 7e74a56..950291d 100644
--- a/src/isnd/Controllers/Packages/PackagesController.Catalog.cs
+++ b/src/isnd/Controllers/Packages/PackagesController.Catalog.cs
@@ -8,7 +8,7 @@ using System.Collections.Generic;
using NuGet.Versioning;
using isnd.Data.Packages.Catalog;
using isnd.Data.Catalog;
-using Isn.Abstract;
+using isn.abst;
namespace isnd.Controllers
{
diff --git a/src/isnd/Controllers/Packages/PackagesController.Delete.cs b/src/isnd/Controllers/Packages/PackagesController.Delete.cs
index e117de5..74c193e 100644
--- a/src/isnd/Controllers/Packages/PackagesController.Delete.cs
+++ b/src/isnd/Controllers/Packages/PackagesController.Delete.cs
@@ -5,7 +5,7 @@ using isnd.Entities;
using System.ComponentModel.DataAnnotations;
using isnd.Attributes;
using System.Security.Claims;
-using Isn.Abstract;
+using isn.abst;
namespace isnd.Controllers
{
diff --git a/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs b/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs
index b5b7836..b044ae7 100644
--- a/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs
+++ b/src/isnd/Controllers/Packages/PackagesController.GetPackage.cs
@@ -1,9 +1,9 @@
using System.ComponentModel.DataAnnotations;
using System.IO;
using Microsoft.AspNetCore.Mvc;
-using Isn.Abstract;
-using isnd.Entities;
using isnd.Attributes;
+using isnd.Entities;
+using isn.abst;
namespace isnd.Controllers
{
diff --git a/src/isnd/Controllers/Packages/PackagesController.GetVersions.cs b/src/isnd/Controllers/Packages/PackagesController.GetVersions.cs
index f6a974d..5cdda12 100644
--- a/src/isnd/Controllers/Packages/PackagesController.GetVersions.cs
+++ b/src/isnd/Controllers/Packages/PackagesController.GetVersions.cs
@@ -1,7 +1,7 @@
using Microsoft.AspNetCore.Mvc;
using NuGet.Versioning;
using isnd.Entities;
-using Isn.Abstract;
+using isn.abst;
namespace isnd.Controllers
{
diff --git a/src/isnd/Controllers/Packages/PackagesController.Put.cs b/src/isnd/Controllers/Packages/PackagesController.Put.cs
index b05691e..f1570e8 100644
--- a/src/isnd/Controllers/Packages/PackagesController.Put.cs
+++ b/src/isnd/Controllers/Packages/PackagesController.Put.cs
@@ -15,7 +15,7 @@ using isnd.Data;
using isnd.Helpers;
using isnd.Entities;
using Microsoft.AspNetCore.Http;
-using Isn.Abstract;
+using isn.abst;
using isnd.Data.Packages;
using Microsoft.AspNetCore.Authorization;
@@ -178,7 +178,7 @@ namespace isnd.Controllers
}
await dbContext.SaveChangesAsync();
- packageManager.UpdateCatalogForAsync(commit);
+ packageManager.ÛpdateCatalogForAsync(commit);
logger.LogInformation($"new paquet : {spec.Name}");
}
diff --git a/src/isnd/Controllers/Packages/PackagesController.Search.cs b/src/isnd/Controllers/Packages/PackagesController.Search.cs
index 8088bd8..8a67c63 100644
--- a/src/isnd/Controllers/Packages/PackagesController.Search.cs
+++ b/src/isnd/Controllers/Packages/PackagesController.Search.cs
@@ -3,7 +3,7 @@ using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using isnd.Entities;
-using Isn.Abstract;
+using isn.abst;
namespace isnd.Controllers
{
diff --git a/src/isnd/Controllers/Packages/PackagesController.cs b/src/isnd/Controllers/Packages/PackagesController.cs
index c890314..ddf9e69 100644
--- a/src/isnd/Controllers/Packages/PackagesController.cs
+++ b/src/isnd/Controllers/Packages/PackagesController.cs
@@ -1,13 +1,21 @@
+using System.ComponentModel.DataAnnotations;
+using System.IO;
using System.Linq;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
+using NuGet.Versioning;
using isnd.Data;
using isnd.Entities;
+using Unleash;
+using isnd.Services;
+using isnd.ViewModels;
+using System.Threading.Tasks;
using isnd.Interfaces;
-using Isn.Abstract;
+using isn.Abstract;
namespace isnd.Controllers
{
@@ -22,15 +30,13 @@ namespace isnd.Controllers
private readonly IsndSettings isndSettings;
readonly ApplicationDbContext dbContext;
private readonly IPackageManager packageManager;
-
- /**
- * PackagesController
- */
+ private readonly IUnleash unleashĈlient;
public PackagesController(
ILoggerFactory loggerFactory,
IDataProtectionProvider provider,
IOptions isndOptions,
+ IUnleash unleashĈlient,
ApplicationDbContext dbContext,
IPackageManager pm)
{
@@ -39,7 +45,8 @@ namespace isnd.Controllers
protector = provider.CreateProtector(isndSettings.ProtectionTitle);
this.dbContext = dbContext;
packageManager = pm;
- resources = packageManager.GetResources().ToArray();
+ this.unleashĈlient = unleashĈlient;
+ resources = packageManager.GetResources(unleashĈlient).ToArray();
}
}
}
diff --git a/src/isnd/Data/Packages/PackageVersion.cs b/src/isnd/Data/Packages/PackageVersion.cs
index 95c7eb1..9120d93 100644
--- a/src/isnd/Data/Packages/PackageVersion.cs
+++ b/src/isnd/Data/Packages/PackageVersion.cs
@@ -1,7 +1,7 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
-using Isn.Abstract;
+using isn.abst;
using isnd.Data.Catalog;
using isnd.Data.Packages;
using isnd.Data.Packages.Catalog;
diff --git a/src/isnd/Helpers/PackageVersionHelpers.cs b/src/isnd/Helpers/PackageVersionHelpers.cs
index a60d283..49f41d6 100644
--- a/src/isnd/Helpers/PackageVersionHelpers.cs
+++ b/src/isnd/Helpers/PackageVersionHelpers.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
-using Isn.Abstract;
+using isn.abst;
using isnd.Data;
using isnd.Data.Catalog;
using isnd.Entities;
diff --git a/src/isnd/Helpers/UnleashHelpers.cs b/src/isnd/Helpers/UnleashHelpers.cs
new file mode 100644
index 0000000..d107bff
--- /dev/null
+++ b/src/isnd/Helpers/UnleashHelpers.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using isnd.Entities;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.Mvc;
+using Unleash;
+using Unleash.ClientFactory;
+
+namespace isnd.Helpers
+{
+ public static class UnleashHelpers
+ {
+
+ public static IUnleash CreateUnleahClient(this IHostingEnvironment env,
+ UnleashClientSettings unleashClientSettings)
+ {
+ var unleashSettings = new UnleashSettings
+ {
+ UnleashApi = new Uri(unleashClientSettings.ApiUrl),
+ AppName = "isnd",
+ Environment = env.EnvironmentName,
+ CustomHttpHeaders = new Dictionary
+ {
+ { "Authorization", unleashClientSettings.ClientApiKey }
+ }
+ };
+
+ UnleashClientFactory unleashClientFactory = new UnleashClientFactory();
+ return unleashClientFactory.CreateClient(unleashSettings);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/isnd/Interfaces/IPackageManager.cs b/src/isnd/Interfaces/IPackageManager.cs
index 9dd8ffc..8e5c2b2 100644
--- a/src/isnd/Interfaces/IPackageManager.cs
+++ b/src/isnd/Interfaces/IPackageManager.cs
@@ -1,76 +1,35 @@
using System.Collections.Generic;
using System.Threading.Tasks;
-using Isn.Abstract;
+using isn.Abstract;
+using isnd.Controllers;
using isnd.Data;
using isnd.Data.Catalog;
using isnd.Data.Packages;
+using isnd.Data.Packages.Catalog;
using isnd.Services;
using isnd.ViewModels;
using NuGet.Versioning;
+using Unleash;
namespace isnd.Interfaces
{
- /**
- * IPackageManager
- */
public interface IPackageManager
{
- /**
- * CatalogBaseUrl
- */
string CatalogBaseUrl { get; }
- /**
- * AutoComplete generation
- */
AutoCompleteResult AutoComplete(string pkgid, int skip, int take, bool prerelease = false, string packageType = null);
- /**
- * GetVersions
- */
string[] GetVersions(string pkgid, NuGetVersion parsedVersion, bool prerelease = false, string packageType = null, int skip = 0, int take = 25);
- /**
- * GetResources
- */
- IEnumerable GetResources();
- /**
- * UpdateCatalogForAsync
- */
- Task UpdateCatalogForAsync(Commit commit);
- /**
- * DeletePackageAsync
- */
+ IEnumerable GetResources(IUnleash unleashĈlient);
+ Task ÛpdateCatalogForAsync(Commit commit);
Task DeletePackageAsync(string pkgid, string version, string type);
-
- /**
- * UserAskForPackageDeletionAsync
- */
Task UserAskForPackageDeletionAsync(string userid, string pkgId, string lower, string type);
-
- /**
- * GetPackageAsync
- */
Task GetPackageAsync(string pkgid, string version, string type);
-
- /**
- * GetCatalogEntryAsync
- */
Task GetCatalogEntryAsync(string pkgId, string version, string pkgType);
- /**
- * SearchCatalogEntriesById
- */
IEnumerable SearchCatalogEntriesById(string pkgId, string semver, string pkgType);
- /**
- * GetCatalogIndexAsync
- */
Task GetCatalogIndexAsync();
- /**
- * GetPackageRegistrationIndexAsync
- */
Task GetPackageRegistrationIndexAsync(RegistrationPageIndexQuery query);
-/**
- * SearchPackageAsync
- */
+
Task SearchPackageAsync(RegistrationPageIndexQuery query);
}
diff --git a/src/isnd/Services/PackageManager.cs b/src/isnd/Services/PackageManager.cs
index 8474ec9..2dc301e 100644
--- a/src/isnd/Services/PackageManager.cs
+++ b/src/isnd/Services/PackageManager.cs
@@ -1,17 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Text;
using System.Threading.Tasks;
-using Isn.Abstract;
+using isn.Abstract;
using isnd.Data;
using isnd.Data.Catalog;
using isnd.Data.Packages;
+using isnd.Data.Packages.Catalog;
using isnd.Entities;
+using isnd.Helpers;
using isnd.Interfaces;
using isnd.ViewModels;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Options;
using NuGet.Versioning;
+using Unleash;
namespace isnd.Services
{
@@ -21,11 +25,6 @@ namespace isnd.Services
ApplicationDbContext dbContext;
- /**
- * Constructor for the PackageManager class.
- * @param dbContext The database context.
- * @param siteConfigOptionsOptions The options for the IsndSettings configuration.
- */
public PackageManager(ApplicationDbContext dbContext,
IOptions siteConfigOptionsOptions)
{
@@ -34,11 +33,7 @@ namespace isnd.Services
extUrl = isndSettings.ExternalUrl + "/";
}
- /**
- * GetResources
- */
-
- public IEnumerable GetResources()
+ public IEnumerable GetResources(IUnleash unleashClient)
{
var res = new List
@@ -67,15 +62,39 @@ namespace isnd.Services
Comment = "Base URL of storage where isn package registration info is stored. This base URL includes SemVer 2.0.0 packages."
}
};
+ /* new Resource(extUrl + ApiConfig.Catalog, "Catalog/" + BASE_API_LEVEL)
+ {
+ Comment = "Package Catalog Index"
+ },*/
+
+ /* res.Add(
+ ); res.Add(
+ new Resource(extUrl + "v3.0.0/" + ApiConfig.Registration, "RegistrationsBaseUrl")
+ {
+
+ Comment = "Base URL of storage where isn package registration info is stored in GZIP format. This base URL includes SemVer 2.0.0 packages."
+ });
+
+ res.Add(
+ new Resource(extUrl + "v3.0.0-beta/" + ApiConfig.Registration, "RegistrationsBaseUrl/3.0.0-beta")
+ {
+ Comment = "Base URL of storage where isn package registration info is stored in GZIP format. This base URL includes SemVer 2.0.0 packages."
+ });
+ res.Add(
+ new Resource(extUrl + "v3.0.0-rc/" + ApiConfig.Registration,"RegistrationsBaseUrl/3.0.0-rc")
+ {
+ Comment = "Base URL of storage where isn package registration info is stored in GZIP format. This base URL includes SemVer 2.0.0 packages."
+ });
+ res.Add(new Resource(extUrl + "v3.4.0/" + ApiConfig.Registration,"RegistrationsBaseUrl/3.4.0")
+ {
+ Comment = "Base URL of storage where isn package registration info is stored in GZIP format. This base URL includes SemVer 2.0.0 packages."
+ });
+
+ res.Add(); */
return res;
}
- /**
- * AutoComplete generation
- */
-
-
public AutoCompleteResult AutoComplete(string id,
int skip, int take, bool prerelease = false,
string packageType = null)
@@ -116,24 +135,18 @@ namespace isnd.Services
}
- /**
- * CatalogBaseUrl
- */
+
public string CatalogBaseUrl => extUrl;
private IsndSettings isndSettings;
private string extUrl;
- /**
- * GetCatalogIndexAsync
- */
-
public virtual async Task GetCatalogIndexAsync()
{
- return await UpdateCatalogForAsync(null);
+ return await ÛpdateCatalogForAsync(null);
}
- public async Task UpdateCatalogForAsync(Commit reason = null)
+ public async Task ÛpdateCatalogForAsync(Commit reason = null)
{
int i = 0;
@@ -208,7 +221,7 @@ namespace isnd.Services
}
dbContext.PackageVersions.Remove(pkg);
await dbContext.SaveChangesAsync();
- await UpdateCatalogForAsync(commit);
+ await ÛpdateCatalogForAsync(commit);
return new PackageDeletionReport { Deleted = true, DeletedVersion = pkg };
}
diff --git a/src/isnd/Startup.cs b/src/isnd/Startup.cs
index 9ef1a52..93be266 100644
--- a/src/isnd/Startup.cs
+++ b/src/isnd/Startup.cs
@@ -1,4 +1,5 @@
-
+using System.Linq;
+using System.Collections.Generic;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.EntityFrameworkCore;
@@ -14,46 +15,41 @@ using isnd.Entities;
using isnd.Authorization;
using isnd.Data.Roles;
using Microsoft.AspNetCore.Authorization;
+using Unleash;
using Microsoft.Extensions.Options;
using isnd.Helpers;
using Microsoft.IdentityModel.Tokens;
using System;
+using Microsoft.OpenApi.Models;
using System.IO;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+using isnd.Data.Catalog;
+using Newtonsoft.Json;
using Microsoft.AspNetCore.HttpOverrides;
-using Microsoft.OpenApi;
namespace isnd
{
-/**
- * Startup class for configuring services and the app's request pipeline.
- */
public class Startup
{
- /**
- * Constructor for the Startup class.
- * @param config The configuration object.
- */
public Startup(IConfiguration config)
{
Configuration = config;
}
- /**
- * The configuration object.
- */
public static IConfiguration Configuration { get; private set; }
- /**
- * This method gets called by the runtime. Use this method to add services to the container.
- * @param services The service collection.
- */
+ // This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
var smtpSettingsconf = Configuration.GetSection("Smtp");
var isndSettingsconf = Configuration.GetSection("Isn");
var adminStartupListConf = Configuration.GetSection("AdminList");
+ var unleashConf = Configuration.GetSection("Unleash");
services.Configure(options =>
{
@@ -61,26 +57,14 @@ namespace isnd
ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
});
- var connectionString = Configuration.GetConnectionString("DefaultConnection");
- var useInMemoryDatabase = Configuration.GetValue("UseInMemoryDatabase") ||
- string.IsNullOrWhiteSpace(connectionString) ||
- connectionString.Contains("<", StringComparison.Ordinal);
-
services.Configure(smtpSettingsconf)
.Configure(isndSettingsconf)
.Configure(adminStartupListConf)
+ .Configure(unleashConf)
.Configure(o => o.Path = "~/migrate")
.AddDbContext(options =>
- {
- if (useInMemoryDatabase)
- {
- options.UseInMemoryDatabase("isnd-tests");
- }
- else
- {
- options.UseNpgsql(connectionString);
- }
- })
+ options.UseNpgsql(
+ Configuration.GetConnectionString("DefaultConnection")))
.AddIdentity()
.AddRoles()
.AddEntityFrameworkStores()
@@ -105,7 +89,20 @@ namespace isnd
.AddTransient()
.AddTransient()
.AddSingleton()
- .AddAuthentication("Bearer")
+ .AddSingleton(s =>
+ {
+ var config = s.GetRequiredService>();
+ if (config.Value == null)
+ throw new System.Exception("No unleash client settings");
+ if (config.Value.ApiUrl == null)
+ throw new System.Exception("No unleash client ApiUrl");
+ if (config.Value.ClientApiKey == null)
+ throw new System.Exception("No unleash client ClientApiKey");
+ return s.GetRequiredService().CreateUnleahClient(config.Value);
+ });
+
+
+ services.AddAuthentication("Bearer")
.AddJwtBearer("Bearer", options =>
{
options.Authority = isndSettingsconf.GetValue("ExternalUrl");
@@ -144,13 +141,7 @@ namespace isnd
});
}
- /**
- * This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
- * @param app The application builder.
- * @param env The web host environment.
- * @param dbContext The application database context.
- * @param isnSettingsOption The isnd settings options.
- */
+ // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app,
IWebHostEnvironment env,
ApplicationDbContext dbContext,
diff --git a/src/isnd/ViewModels/HomeIndexViewModel.cs b/src/isnd/ViewModels/HomeIndexViewModel.cs
index 1beadca..3dac63c 100644
--- a/src/isnd/ViewModels/HomeIndexViewModel.cs
+++ b/src/isnd/ViewModels/HomeIndexViewModel.cs
@@ -1,8 +1,11 @@
+using Unleash;
+
namespace isnd.ViewModels
{
public class HomeIndexViewModel
{
public int PkgCount { get; set; }
+ public IUnleash UnleashClient;
}
}
\ No newline at end of file
diff --git a/src/isnd/Views/Home/Features.cshtml b/src/isnd/Views/Home/Features.cshtml
index ab2d034..e38c6a9 100644
--- a/src/isnd/Views/Home/Features.cshtml
+++ b/src/isnd/Views/Home/Features.cshtml
@@ -3,8 +3,15 @@
foreach (string leashed in new string[] { "pkg-push", "pkg-get",
"pkg-autocomplete","pkg-search","pkg-catalog"})
{
-
+ if (Model.UnleashClient.IsEnabled(leashed))
+ {
+ //do some magic
+ @leashed
+ }
+ else
+ {
//do old boring stuff
No @leashed (disabled)
}
+ }
}
\ No newline at end of file
diff --git a/src/isnd/appsettings.json b/src/isnd/appsettings.json
index ba98409..61e4a9b 100644
--- a/src/isnd/appsettings.json
+++ b/src/isnd/appsettings.json
@@ -21,6 +21,11 @@
"SenderName": "",
"SenderEmail": ""
},
+ "Unleash":
+ {
+ "ClientApiKey": "lame-unleash-client-api-key",
+ "ApiUrl": "http://localhost:4242/api/"
+ },
"Logging": {
"LogLevel": {
"Default": "Warning"
diff --git a/src/isnd/isnd.csproj b/src/isnd/isnd.csproj
index 9b04000..c3c424c 100644
--- a/src/isnd/isnd.csproj
+++ b/src/isnd/isnd.csproj
@@ -1,42 +1,48 @@
+ net7.0
+ 85fd766d-5d23-4476-aed1-463b2942e86a
true
- 1.0.0.0
- 1.0.0.0
- 1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85
- 1.0.0
+ WTFPL
+ NETSDK1138,CS1591,MSB3243
+ 1.0.7.0
+ 1.0.7.0
+ 1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327
+ 1.0.7
+ true
+
-
+
+
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
-
-
- runtime; build; native; contentfiles; analyzers; buildtransitive
- all
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ All
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
diff --git a/test/data/test-isn/test-isn.csproj b/test/data/test-isn/test-isn.csproj
index 31afac1..9836c56 100644
--- a/test/data/test-isn/test-isn.csproj
+++ b/test/data/test-isn/test-isn.csproj
@@ -5,9 +5,9 @@
test_isn
enable
enable
- 1.0.0.0
- 1.0.0.0
- 1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85
- 1.0.0
+ 1.0.7.0
+ 1.0.7.0
+ 1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327
+ 1.0.7
\ No newline at end of file
diff --git a/test/isn.tests/PushTest.cs b/test/isn.tests/PushTest.cs
index a53ebf5..6e0f264 100644
--- a/test/isn.tests/PushTest.cs
+++ b/test/isn.tests/PushTest.cs
@@ -1,137 +1,29 @@
using System;
-using System.Collections.Generic;
+using System.Data;
using System.IO;
-using System.Linq;
-using System.Net;
+using System.Xml;
using System.Net.Http;
-using System.Net.Sockets;
-using System.Text;
+
using System.Threading.Tasks;
using Newtonsoft.Json;
+using isn.Abstract;
+using System.Linq;
using Xunit;
+using isn.abst;
using isnd.Entities;
-using Isn.Abstract;
-namespace Isn.tests
+namespace isn.tests
{
- public sealed class LocalSourceFixture : IDisposable
+ public class Tests
{
- private readonly HttpListener listener;
- private readonly Task listenerTask;
-
- public LocalSourceFixture()
- {
- var port = GetFreePort();
- var prefix = $"http://127.0.0.1:{port}/";
- listener = new HttpListener();
- listener.Prefixes.Add(prefix);
- listener.Start();
-
- listenerTask = Task.Run(async () =>
- {
- while (listener.IsListening)
- {
- HttpListenerContext context;
- try
- {
- context = await listener.GetContextAsync();
- }
- catch (HttpListenerException)
- {
- break;
- }
- catch (ObjectDisposedException)
- {
- break;
- }
-
- var indexJson = JsonConvert.SerializeObject(new ApiIndexViewModel(prefix + "index.json")
- {
- Version = "3.0.0",
- Resources = new[]
- {
- new Resource(prefix + "put", "PackagePublish/2.0.0")
- {
- Comment = "test publish endpoint"
- }
- }
- });
- var payload = Encoding.UTF8.GetBytes(indexJson);
- context.Response.ContentType = "application/json";
- context.Response.ContentLength64 = payload.Length;
- await context.Response.OutputStream.WriteAsync(payload, 0, payload.Length);
- context.Response.Close();
- }
- });
-
- SourceUrl = prefix + "index.json";
- ConfigureIsnSettings(SourceUrl);
- Program.LoadConfig();
- }
-
- public string SourceUrl { get; }
-
- public void Dispose()
- {
- listener.Close();
- if (listenerTask != null)
- {
- try
- {
- listenerTask.GetAwaiter().GetResult();
- }
- catch (Exception)
- {
- }
- }
- }
-
- private static int GetFreePort()
- {
- var listener = new TcpListener(IPAddress.Loopback, 0);
- listener.Start();
- var port = ((IPEndPoint)listener.LocalEndpoint).Port;
- listener.Stop();
- return port;
- }
-
- private static void ConfigureIsnSettings(string sourceUrl)
- {
- var home = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
- var configDirectory = Path.Combine(home, ".isn");
- Directory.CreateDirectory(configDirectory);
-
- var configPath = Path.Combine(configDirectory, "config.json");
- var settings = new Settings
- {
- DataProtectionTitle = "isn",
- Sources = new Dictionary
- {
- [sourceUrl] = new SourceSettings { Alias = "test" }
- },
- DefaultSourceKey = sourceUrl
- };
-
- File.WriteAllText(configPath, JsonConvert.SerializeObject(settings, Formatting.Indented));
- }
- }
-
- public class Tests : IClassFixture
- {
- private readonly LocalSourceFixture fixture;
-
- public Tests(LocalSourceFixture fixture)
- {
- this.fixture = fixture;
- }
[Fact]
public void HaveADefaultDataProtector()
{
- var pass = "a lame and big pass";
- IDataProtector protector = new DefaultDataProtector();
- var protectedpass = protector.Protect(pass);
- var unprotectedpass = protector.UnProtect(protectedpass);
+ string pass = "a lame and big pass";
+ isn.IDataProtector _protector = new isn.DefaultDataProtector();
+ string protectedpass = _protector.Protect(pass);
+ string unprotectedpass = _protector.UnProtect(protectedpass);
Console.WriteLine(protectedpass);
Assert.Equal(pass, unprotectedpass);
Assert.True(protectedpass != null);
@@ -141,32 +33,33 @@ namespace Isn.tests
[Fact]
public async Task TestHttpClient()
{
- using var client = new HttpClient();
- var response = await client.GetAsync(fixture.SourceUrl);
+ string url = "https://isn.pschneider.fr/" + ApiConfig.IndexDotJson;
+ HttpClient client = new HttpClient();
+ // var json = await client.GetStringAsync(new System.Uri(url));
+ var response = await client.GetAsync(url);
var json = await response.Content.ReadAsStringAsync();
var vm = JsonConvert.DeserializeObject(json);
Console.WriteLine(JsonConvert.SerializeObject(vm));
Assert.NotNull(vm);
Assert.NotNull(vm.Resources);
}
-
[Fact]
public void TestPush()
{
Program.LoadConfig();
- var report = Program.PushPkg(new[] { Path.Combine(AppContext.BaseDirectory, "dummy.nupkg") });
- Assert.NotNull(report);
- Assert.Single(report);
+ var report = Program.PushPkg(new string[] { "/home/paul/Nupkgs/Yavsc.Abstract.1.0.8."
+ + Constants.PaquetFileEstension });
}
[Fact]
public void GetServerResourcesUsingHttpClientAsyncTest()
{
- var model = SourceHelpers.GetServerResources(fixture.SourceUrl);
+ var model = SourceHelpers.GetServerResources("Https://isn.pschneider.fr/index.json");
Console.WriteLine(JsonConvert.SerializeObject(model));
Assert.NotNull(model.Resources);
- var pub = model.Resources.FirstOrDefault(r => r.Type.StartsWith("PackagePublish/"));
+ var pub = model.Resources.FirstOrDefault((r) => r.Type.StartsWith("PackagePublish/"));
Assert.True(pub != null);
}
+
}
}
\ No newline at end of file
diff --git a/test/isn.tests/isn.tests.csproj b/test/isn.tests/isn.tests.csproj
index 9371392..faae98f 100644
--- a/test/isn.tests/isn.tests.csproj
+++ b/test/isn.tests/isn.tests.csproj
@@ -1,18 +1,20 @@
+ net7.0
false
- 1.0.0.0
- 1.0.0.0
- 1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85
- 1.0.0
+ NETSDK1138
+ 1.0.7.0
+ 1.0.7.0
+ 1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327
+ 1.0.7
-
-
+
+
-
-
-
+
+
+
diff --git a/test/isnd.tests/UnitTestWebHost.cs b/test/isnd.tests/UnitTestWebHost.cs
index 96a1203..99ac24e 100644
--- a/test/isnd.tests/UnitTestWebHost.cs
+++ b/test/isnd.tests/UnitTestWebHost.cs
@@ -1,6 +1,5 @@
using System.Threading;
using System;
-using System.Net.Http;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore;
using Xunit;
@@ -17,7 +16,6 @@ using NuGet.Protocol;
using NuGet.Configuration;
using System.Threading.Tasks;
using NuGet.Protocol.Core.Types;
-using NuGet.Common;
namespace isnd.host.tests
{
@@ -37,14 +35,7 @@ namespace isnd.host.tests
{
var services = serviceScope.ServiceProvider;
var myDependency = services.GetRequiredService();
- if (myDependency.Database.ProviderName?.Contains("InMemory", StringComparison.OrdinalIgnoreCase) == true)
- {
- myDependency.Database.EnsureCreated();
- }
- else
- {
- myDependency.Database.Migrate();
- }
+ myDependency.Database.Migrate();
}
}
@@ -70,15 +61,17 @@ namespace isnd.host.tests
public void NugetInstallsTest()
{
using (var serviceScope = server.Host.Services.CreateScope())
- {
- var isnSettings = serviceScope.ServiceProvider.GetService>().Value;
- string pkgSourceUrl = isnSettings.ExternalUrl + "/pkgs/index.json";
- using var client = new HttpClient();
- var response = client.GetAsync(pkgSourceUrl).GetAwaiter().GetResult();
- var body = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
-
- Assert.True(response.IsSuccessStatusCode, $"Expected {pkgSourceUrl} to be reachable but got {(int)response.StatusCode} {response.ReasonPhrase}");
- Assert.False(string.IsNullOrWhiteSpace(body));
+ { var isnSettings = serviceScope.ServiceProvider.GetService>().Value;
+ string pkgSourceUrl = isnSettings.ExternalUrl + "/index.json";
+ ProcessStartInfo psi = new ProcessStartInfo("nuget");
+ psi.ArgumentList.Add("install");
+ psi.ArgumentList.Add("gitversion");
+ psi.ArgumentList.Add("-PreRelease");
+ psi.ArgumentList.Add("-Source");
+ psi.ArgumentList.Add(pkgSourceUrl);
+ Process p = Process.Start(psi);
+ p.WaitForExit();
+ Assert.True(p.ExitCode == 0, "nuget install failed!");
}
}
@@ -87,7 +80,7 @@ namespace isnd.host.tests
{
using (var serviceScope = server.Host.Services.CreateScope())
{ var isnSettings = serviceScope.ServiceProvider.GetService>().Value;
- string pkgSourceUrl = isnSettings.ExternalUrl + "/pkgs/index.json";
+ string pkgSourceUrl = isnSettings.ExternalUrl + "/index.json";
NullThrottle throttle = new NullThrottle();
PackageSource packageSource = new PackageSource(pkgSourceUrl);
@@ -103,7 +96,7 @@ namespace isnd.host.tests
using (var serviceScope = server.Host.Services.CreateScope())
{
var isnSettings = serviceScope.ServiceProvider.GetService>().Value;
- string pkgSourceUrl = isnSettings.ExternalUrl + "/pkgs/index.json";
+ string pkgSourceUrl = isnSettings.ExternalUrl + "/index.json";
var prov = new RegistrationResourceV3Provider();
var source = new PackageSource(pkgSourceUrl);
var repo = new SourceRepository(source, new INuGetResourceProvider[]{ prov });
diff --git a/test/isnd.tests/WebServerFixture.cs b/test/isnd.tests/WebServerFixture.cs
index b634ccc..b45be22 100644
--- a/test/isnd.tests/WebServerFixture.cs
+++ b/test/isnd.tests/WebServerFixture.cs
@@ -38,8 +38,8 @@ namespace isnd.tests
.UseStartup(typeof(Startup))
.ConfigureAppConfiguration((builderContext, config) =>
{
- config.AddJsonFile("appsettings.json", optional: false);
- config.AddJsonFile("appsettings.Development.json", optional: true);
+ config.AddJsonFile("appsettings.json", false);
+ config.AddJsonFile("appsettings.Development.json", false);
});
Host = webhostBuilder.Build();
diff --git a/test/isnd.tests/isnd.tests.csproj b/test/isnd.tests/isnd.tests.csproj
index 657cd31..f3572a8 100644
--- a/test/isnd.tests/isnd.tests.csproj
+++ b/test/isnd.tests/isnd.tests.csproj
@@ -1,12 +1,13 @@
+ net7.0
false
d7144e46-4e63-4391-ba86-64b61f6e7be4
NETSDK1138
- 1.0.0.0
- 1.0.0.0
- 1.0.0+Branch.main.Sha.654065d7fef34ba4ed2fb3bca5bc91de9ad16e85
- 1.0.0
+ 1.0.7.0
+ 1.0.7.0
+ 1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327
+ 1.0.7
diff --git a/test/isnd.tests/wwwroot/favicon.ico b/test/isnd.tests/wwwroot/favicon.ico
new file mode 100644
index 0000000..e69de29