FOSSology  4.5.1
Open Source License Compliance by Open Source Software
TokenRequestTest.php
Go to the documentation of this file.
1 <?php
2 /*
3  SPDX-FileCopyrightText: © 2025 Harshit Gandhi <gandhiharshit716@gmail.com>
4 
5  SPDX-License-Identifier: GPL-2.0-only
6 */
7 
14 
17 use PHPUnit\Framework\TestCase;
18 use DateTime;
19 
24 class TokenRequestTest extends TestCase
25 {
26  private $sampleData;
27 
31  protected function setUp(): void
32  {
33  $this->sampleData = [
34  'tokenName' => 'TestToken',
35  'tokenScope' => 'read',
36  'tokenExpire' => '2025-12-31',
37  'username' => 'testUser',
38  'password' => 'testPassword'
39  ];
40  }
41 
43 
49  public function testConstructor()
50  {
51  $tokenRequest = new TokenRequest(...array_values($this->sampleData));
52  $this->assertInstanceOf(TokenRequest::class, $tokenRequest);
53  }
54 
56 
61  public function testGetTokenName()
62  {
63  $tokenRequest = new TokenRequest(...array_values($this->sampleData));
64  $this->assertEquals($this->sampleData['tokenName'], $tokenRequest->getTokenName());
65  }
66 
71  public function testGetTokenScope()
72  {
73  $tokenRequest = new TokenRequest(...array_values($this->sampleData));
74  $this->assertEquals('r', $tokenRequest->getTokenScope());
75  }
76 
81  public function testGetTokenExpire()
82  {
83  $tokenRequest = new TokenRequest(...array_values($this->sampleData));
84  $this->assertEquals($this->sampleData['tokenExpire'], $tokenRequest->getTokenExpire());
85  }
86 
91  public function testGetUsername()
92  {
93  $tokenRequest = new TokenRequest(...array_values($this->sampleData));
94  $this->assertEquals($this->sampleData['username'], $tokenRequest->getUsername());
95  }
96 
101  public function testGetPassword()
102  {
103  $tokenRequest = new TokenRequest(...array_values($this->sampleData));
104  $this->assertEquals($this->sampleData['password'], $tokenRequest->getPassword());
105  }
106 
108 
113  public function testSetTokenName()
114  {
115  $tokenRequest = new TokenRequest(...array_values($this->sampleData));
116  $tokenRequest->setTokenName('NewToken');
117  $this->assertEquals('NewToken', $tokenRequest->getTokenName());
118  }
119 
124  public function testSetTokenScope()
125  {
126  $tokenRequest = new TokenRequest(...array_values($this->sampleData));
127  $tokenRequest->setTokenScope('write');
128  $this->assertEquals('w', $tokenRequest->getTokenScope());
129  }
130 
135  public function testSetTokenExpire()
136  {
137  $tokenRequest = new TokenRequest(...array_values($this->sampleData));
138  $tokenRequest->setTokenExpire('2026-01-01');
139  $this->assertEquals('2026-01-01', $tokenRequest->getTokenExpire());
140  }
141 
146  public function testSetUsername()
147  {
148  $tokenRequest = new TokenRequest(...array_values($this->sampleData));
149  $tokenRequest->setUsername('testUser');
150  $this->assertEquals('testUser', $tokenRequest->getUsername());
151  }
152 
157  public function testSetPassword()
158  {
159  $tokenRequest = new TokenRequest(...array_values($this->sampleData));
160  $tokenRequest->setPassword('testPassword');
161  $this->assertEquals('testPassword', $tokenRequest->getPassword());
162  }
163 
165 
174  public function testFromArrayVersion1()
175  {
176  $input = [
177  'username' => 'testUser',
178  'password' => 'testPassword',
179  'token_name' => 'TestToken',
180  'token_scope' => 'read',
181  'token_expire' => '2025-12-31'
182  ];
183 
184  $tokenRequest = TokenRequest::fromArray($input, 1);
185  $this->assertInstanceOf(TokenRequest::class, $tokenRequest);
186  }
187 
196  public function testFromArrayVersion2()
197  {
198  $input = [
199  'username' => 'testUser',
200  'password' => 'testPassword',
201  'tokenName' => 'TestToken',
202  'tokenScope' => 'read',
203  'tokenExpire' => '2025-12-31'
204  ];
205 
206  $tokenRequest = TokenRequest::fromArray($input, 2);
207  $this->assertInstanceOf(TokenRequest::class, $tokenRequest);
208  }
209 
223  public function testFromArrayMissingKeys()
224  {
225  $this->expectException(HttpBadRequestException::class);
226  $input = ['username' => 'testUser'];
227  TokenRequest::fromArray($input, 1);
228  }
229 }
static fromArray(array $input, int $version)