blob: 455a4589507b959bd4ac0f4cb46098dcb8daf7ca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
using System;
using System.Threading;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Tango.Transport.Web;
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).AccessToken;
String token2 = tokensManager.GetOrCreate(t2).AccessToken;
Assert.AreEqual(tokensManager.GetTokenObject(token1), t1);
Assert.AreEqual(tokensManager.GetTokenObject(token2), t2);
TokenObject t3 = new TokenObject();
t3.Value = "Roy";
String token3 = tokensManager.GetOrCreate(t3).AccessToken;
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).AccessToken;
Thread.Sleep(1000);
tokensManager.Validate(recent_token);
Assert.ThrowsException<TokenExpiredException>(() => tokensManager.Validate(token1));
}
}
}
|