FOSSology  4.5.1
Open Source License Compliance by Open Source Software
ReuserTest.php
Go to the documentation of this file.
1 <?php
2 /*
3  SPDX-FileCopyrightText: © 2020 Siemens AG
4  Author: Gaurav Mishra <mishra.gaurav@siemens.com>
5 
6  SPDX-License-Identifier: GPL-2.0-only
7 */
14 
17 
22 class ReuserTest extends \PHPUnit\Framework\TestCase
23 {
25 
31  public function testConstructor()
32  {
33  $reuser = new Reuser(2, 'fossy', true);
34  $this->assertInstanceOf(Reuser::class, $reuser);
35  }
36 
41  public function testReuserConst()
42  {
43  $expectedArray = [
44  "reuse_upload" => 2,
45  "reuse_group" => 'fossy',
46  "reuse_main" => true,
47  "reuse_enhanced" => false,
48  "reuse_copyright" => false,
49  "reuse_report" => false
50  ];
51 
52  $actualReuser = new Reuser(2, 'fossy', true);
53 
54  $this->assertEquals($expectedArray, $actualReuser->getArray());
55  }
56 
62  public function testReuserException()
63  {
64  $this->expectException(\UnexpectedValueException::class);
65  $this->expectExceptionMessage("reuse_upload should be integer");
66  $object = new Reuser('alpha', 2);
67  }
68 
74  public function testSetUsingArrayV1()
75  {
76  $this->testSetUsingArray(ApiVersion::V1);
77  }
78 
84  public function testSetUsingArrayV2()
85  {
86  $this->testSetUsingArray(ApiVersion::V2);
87  }
88 
94  private function testSetUsingArray($version)
95  {
96  if ($version == ApiVersion::V1) {
97  $expectedArray = [
98  "reuse_upload" => 2,
99  "reuse_group" => 'fossy',
100  "reuse_main" => 'true',
101  "reuse_enhanced" => false,
102  "reuse_copyright" => false,
103  "reuse_report" => false
104  ];
105  } else {
106  $expectedArray = [
107  "reuseUpload" => 2,
108  "reuseGroup" => 'fossy',
109  "reuseMain" => 'true',
110  "reuseEnhanced" => false,
111  "reuseCopyright" => false,
112  "reuseReport" => false
113  ];
114  }
115 
116  $actualReuser = new Reuser(1, 'fossy');
117  $actualReuser->setUsingArray($expectedArray, $version);
118 
119  $expectedArray[$version == ApiVersion::V1? "reuse_main" : "reuseMain"] = true;
120  $this->assertEquals($expectedArray, $actualReuser->getArray($version));
121  }
122 
129  {
130  $expectedArray = [
131  "reuse_upload" => 2,
132  "reuse_group" => 'fossy',
133  "reuse_main" => 'true',
134  "reuse_enhanced" => false,
135  "reuse_copyright" => 'true',
136  "reuse_report" => false
137  ];
138 
139  $actualReuser = new Reuser(1, 'fossy');
140  $actualReuser->setUsingArray($expectedArray);
141 
142  $expectedArray["reuse_main"] = true;
143  $expectedArray["reuse_copyright"] = true;
144  $this->assertEquals($expectedArray, $actualReuser->getArray());
145  }
146 
152  public function testSetUsingArrayException()
153  {
154  $expectedArray = [
155  "reuse_upload" => 'alpha',
156  "reuse_group" => 'fossy',
157  "reuse_main" => 'true',
158  "reuse_enhanced" => false
159  ];
160 
161  $this->expectException(\UnexpectedValueException::class);
162  $this->expectExceptionMessage("Reuse upload should be an integer");
163 
164  $actualReuser = new Reuser(1, 'fossy');
165  $actualReuser->setUsingArray($expectedArray);
166  }
167 }
Model to hold info required by Reuser agent.
Definition: Reuser.php:18