aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.UnitTesting
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-02-18 18:16:24 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-02-18 18:16:24 +0200
commit45829a9fb6f4b0d4443e22c972cf8543be533d4e (patch)
tree8255065ff8e3e7071dc53486870b1a0047d57d5a /Software/Visual_Studio/Tango.UnitTesting
parent78181d457b113c25e9ea55b378d6b6bd8e201338 (diff)
downloadTango-45829a9fb6f4b0d4443e22c972cf8543be533d4e.tar.gz
Tango-45829a9fb6f4b0d4443e22c972cf8543be533d4e.zip
Working on Tokens Manager.
Diffstat (limited to 'Software/Visual_Studio/Tango.UnitTesting')
-rw-r--r--Software/Visual_Studio/Tango.UnitTesting/MachineService_TST.cs64
-rw-r--r--Software/Visual_Studio/Tango.UnitTesting/Tango.UnitTesting.csproj7
2 files changed, 70 insertions, 1 deletions
diff --git a/Software/Visual_Studio/Tango.UnitTesting/MachineService_TST.cs b/Software/Visual_Studio/Tango.UnitTesting/MachineService_TST.cs
new file mode 100644
index 000000000..ca1653e3e
--- /dev/null
+++ b/Software/Visual_Studio/Tango.UnitTesting/MachineService_TST.cs
@@ -0,0 +1,64 @@
+using System;
+using System.Threading;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Tango.Web.Authentication;
+
+namespace Tango.UnitTesting
+{
+ [TestClass]
+ [TestCategory("Machine Service")]
+ public class MachineService_TST
+ {
+ private class TokenObject : IEquatable<TokenObject>
+ {
+ public String Value { get; set; }
+
+ public bool Equals(TokenObject other)
+ {
+ return Value == other.Value;
+ }
+ }
+
+ [TestMethod]
+ public void Test_Tokens_Manager()
+ {
+ TokensManager<TokenObject> tokensManager = new TokensManager<TokenObject>();
+
+ TokenObject t1 = new TokenObject();
+ t1.Value = "Roy";
+
+ TokenObject t2 = new TokenObject();
+ t2.Value = "Sagi";
+
+ String token1 = tokensManager.GetOrCreate(t1);
+ String token2 = tokensManager.GetOrCreate(t2);
+
+ Assert.AreEqual(tokensManager.GetTokenObject(token1), t1);
+ Assert.AreEqual(tokensManager.GetTokenObject(token2), t2);
+
+ TokenObject t3 = new TokenObject();
+ t3.Value = "Roy";
+
+ String token3 = tokensManager.GetOrCreate(t3);
+ Assert.AreEqual(token3, token1);
+ Assert.AreEqual(tokensManager.GetTokenObject(token1), tokensManager.GetTokenObject(token3));
+
+ TokenObject tOld = new TokenObject()
+ {
+ Value = "Expired Token"
+ };
+
+ tokensManager.ExpirationTime = TimeSpan.FromSeconds(2);
+
+ Thread.Sleep(2000);
+
+ String recent_token = tokensManager.GetOrCreate(tOld);
+
+ Thread.Sleep(1000);
+
+ Assert.IsTrue(tokensManager.Exists(recent_token));
+
+ Assert.IsFalse(tokensManager.Exists(token1));
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.UnitTesting/Tango.UnitTesting.csproj b/Software/Visual_Studio/Tango.UnitTesting/Tango.UnitTesting.csproj
index fa4652899..9ebc45dfc 100644
--- a/Software/Visual_Studio/Tango.UnitTesting/Tango.UnitTesting.csproj
+++ b/Software/Visual_Studio/Tango.UnitTesting/Tango.UnitTesting.csproj
@@ -107,6 +107,7 @@
<Compile Include="Helper.cs" />
<Compile Include="Protobuf_TST.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="MachineService_TST.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
@@ -193,6 +194,10 @@
<Project>{74e700b0-1156-4126-be40-ee450d3c3026}</Project>
<Name>Tango.Transport</Name>
</ProjectReference>
+ <ProjectReference Include="..\Tango.Web\Tango.Web.csproj">
+ <Project>{5001990f-977b-48ff-b217-0236a5022ad8}</Project>
+ <Name>Tango.Web</Name>
+ </ProjectReference>
<ProjectReference Include="..\Utilities\Tango.DBObservablesGenerator.CLI\Tango.DBObservablesGenerator.CLI.csproj">
<Project>{ebb7cb9f-6af2-456b-a5dd-1b136b605d90}</Project>
<Name>Tango.DBObservablesGenerator.CLI</Name>
@@ -212,7 +217,7 @@
<Import Project="..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" />
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
+ <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file