1111namespace Cloudinary \Test \Unit \Utils ;
1212
1313use Cloudinary \Api \ApiUtils ;
14+ use Cloudinary \Test \Unit \UnitTestCase ;
1415use Cloudinary \Transformation \Format ;
1516use Cloudinary \Transformation \Transformation ;
16- use PHPUnit \Framework \TestCase ;
1717
1818/**
1919 * Class ApiUtilsTest
2020 */
21- final class ApiUtilsTest extends TestCase
21+ final class ApiUtilsTest extends UnitTestCase
2222{
2323 /**
2424 * Data provider for the method `testSerializeArrayOfArrays()`.
@@ -153,31 +153,31 @@ public function dataProviderSerializeContext()
153153 {
154154 return [
155155 [
156- 'value ' => '' ,
156+ 'value ' => '' ,
157157 'result ' => '' ,
158158 ],
159159 [
160- 'value ' => null ,
160+ 'value ' => null ,
161161 'result ' => '' ,
162162 ],
163163 [
164- 'value ' => 0 ,
164+ 'value ' => 0 ,
165165 'result ' => '0 ' ,
166166 ],
167167 [
168- 'value ' => [],
168+ 'value ' => [],
169169 'result ' => '' ,
170170 ],
171171 [
172- 'value ' => ['!@#$%^&?*-+=[]{}() ' => '!@#$%^&?*-+=[]{}() ' ],
172+ 'value ' => ['!@#$%^&?*-+=[]{}() ' => '!@#$%^&?*-+=[]{}() ' ],
173173 'result ' => '!@#$%^&?*-+\=[]{}()=!@#$%^&?*-+\=[]{}() ' ,
174174 ],
175175 [
176- 'value ' => ['caption ' => 'cap=caps ' , 'alt ' => 'alternative|alt=a ' ],
176+ 'value ' => ['caption ' => 'cap=caps ' , 'alt ' => 'alternative|alt=a ' ],
177177 'result ' => 'caption=cap\=caps|alt=alternative\|alt\=a ' ,
178178 ],
179179 [
180- 'value ' => ['caption ' => ['cap1 ' , 'cap2 ' ], 'alt ' => ['a|"a" ' , 'b="b" ' ]],
180+ 'value ' => ['caption ' => ['cap1 ' , 'cap2 ' ], 'alt ' => ['a|"a" ' , 'b="b" ' ]],
181181 'result ' => 'caption=["cap1","cap2"]|alt=["a\|\"a\"","b\=\"b\""] ' ,
182182 ],
183183 ];
@@ -198,4 +198,47 @@ public function testSerializeContext($value, $result)
198198 ApiUtils::serializeContext ($ value )
199199 );
200200 }
201+
202+ /**
203+ * Data provider for the method `testSignParameters()`.
204+ *
205+ * @return array[]
206+ */
207+ public function dataProviderSignParameters ()
208+ {
209+ return [
210+ [
211+ 'value ' => ['p1 ' => 'v1 ' ],
212+ 'result ' => '4cdcfc973f12ab6a9a6ba56595a9c2897bdb8f32 ' ,
213+ ],
214+ [
215+ 'value ' => ['p1 ' => 'v1,v2 ' ],
216+ 'result ' => '9e06ad20c8a98319b00503edc4053be120017905 ' ,
217+ ],
218+ [
219+ 'value ' => ['p1 ' => ['v1 ' , 'v2 ' ]],
220+ 'result ' => '9e06ad20c8a98319b00503edc4053be120017905 ' ,
221+ ],
222+ [
223+ 'value ' => ['p1 ' => 'v1=v2*|}{ & !@#$%^&*()_;/.,?>< \\/|_+a ' ],
224+ 'result ' => 'bbdc631f4b490c0ba65722d8dbf9300d1fd98e86 ' ,
225+ ],
226+ ];
227+ }
228+
229+ /**
230+ * Verifies that context data is correctly serialized.
231+ *
232+ * @param $value
233+ * @param $result
234+ *
235+ * @dataProvider dataProviderSignParameters
236+ */
237+ public function testSignParameters ($ value , $ result )
238+ {
239+ self ::assertEquals (
240+ $ result ,
241+ ApiUtils::signParameters ($ value , self ::API_SECRET )
242+ );
243+ }
201244}
0 commit comments