· 6 years ago · May 20, 2019, 04:06 PM
1UpdateExpiredAccessToken();
2
3function UpdateExpiredAccessToken() {
4 var accessTokenExpiresOnStr = pm.globals.get("accessTokenExpiresOn");
5
6 var checkResult = CheckAllVariablesAreSet();
7
8 if(checkResult)
9 {
10 if (!accessTokenExpiresOnStr) {
11 console.log("AccessTokenExpiresOn is undefined, null or empty string");
12 GetAccessToken();
13 }
14 else {
15 var utcNow = new Date();
16 var tokenExpiresOn = new Date(Date.parse(accessTokenExpiresOnStr));
17 if (tokenExpiresOn < utcNow) {
18 console.log("expiresNow < utcNow");
19 GetAccessToken();
20 }
21 }
22 }
23}
24
25function GetAccessToken()
26{
27 UpdateExpiredPrivateToken();
28
29 var privateToken = pm.globals.get("privateToken");
30 var resolver = pm.environment.get("resolver");
31 var env = pm.environment.get("env");
32 var r1_username = pm.environment.get("r1_username");
33 var r1_password = pm.environment.get("r1_password");
34 var r1_companyId = pm.environment.get("r1_companyId");
35
36 if(!r1_companyId)
37 {
38 r1_companyId = "10000";
39 }
40
41 pm.sendRequest({
42 url: "http://service-resolver-" + resolver + ".trgdev.local/" + env + "/auth/api/v1/auth/user/account",
43 method: "POST",
44 header: {
45 "Content-Type" : "application/json",
46 "Authorization" : "PrivateToken " + privateToken
47 },
48 body: {
49 mode: 'raw',
50 raw : JSON.stringify({
51 login: r1_username,
52 password: r1_password,
53 companyId: r1_companyId
54 })
55 }
56 }, function (_err, response) {
57 pm.globals.set("accessToken", response.json().AccessToken.Token);
58 pm.globals.set("accessTokenExpiresOn", response.json().AccessToken.ExpiresOn);
59 });
60}
61
62function CheckAllVariablesAreSet() {
63 var result = true;
64
65 var resolver = pm.environment.get("resolver");
66 var env = pm.environment.get("env");
67 var r1_username = pm.environment.get("r1_username");
68 var r1_password = pm.environment.get("r1_password");
69 var r1_companyId = pm.environment.get("r1_companyId");
70
71 if(!resolver)
72 {
73 console.log("resolver is undefined, null or empty string");
74 result = false;
75 }
76 if(!env)
77 {
78 console.log("env is undefined, null or empty string");
79 result = false;
80 }
81 if(!r1_username)
82 {
83 console.log("r1_username is undefined, null or empty string");
84 result = false;
85 }
86 if(!r1_password)
87 {
88 console.log("r1_password is undefined, null or empty string");
89 result = false;
90 }
91 if(!r1_companyId)
92 {
93 console.log("r1_companyId is undefined, null or empty string. Set as 10000 by default.");
94 }
95 return result;
96}
97
98function UpdateExpiredPrivateToken() {
99 var privateTokenExpiresOnStr = pm.globals.get("privateTokenExpiresOn");
100 if (!privateTokenExpiresOnStr) {
101 console.log("privateTokenExpiresOn is undefined, null or empty string");
102 GetPrivateToken();
103 }
104 else {
105 var utcNow = new Date();
106 var tokenExpiresOn = new Date(Date.parse(privateTokenExpiresOnStr));
107 if (tokenExpiresOn < utcNow) {
108 console.log("expiresNow < utcNow");
109 GetPrivateToken();
110 }
111 }
112}
113
114function GetPrivateToken() {
115 var resolver = pm.environment.get("resolver");
116 var env = pm.environment.get("env");
117 pm.sendRequest({
118 url: "http://service-resolver-" + resolver + ".trgdev.local/" + env + "/auth/api/v1/auth/service/client",
119 method: "POST",
120 header: {
121 "Content-Type": "application/json"
122 },
123 body: {
124 mode: 'raw',
125 raw : JSON.stringify({
126 clientId: "9960fa04-a221-45a6-a93f-23604ea8b312",
127 secretKey: "Ypkwy5Cl3Tt0i4FAiax0DuZYPfxhvlaaFCKIbMVVWyc="
128 })
129 }
130 }, function (_err, response) {
131 pm.globals.set("privateToken", response.json().Token);
132 pm.globals.set("privateTokenExpiresOn", response.json().ExpiresOn);
133 });
134}