Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
100.00% |
1 / 1 |
|
100.00% |
4 / 4 |
CRAP | |
100.00% |
44 / 44 |
FakeApi | |
100.00% |
1 / 1 |
|
100.00% |
4 / 4 |
24 | |
100.00% |
44 / 44 |
get | |
100.00% |
1 / 1 |
10 | |
100.00% |
19 / 19 |
|||
post | |
100.00% |
1 / 1 |
4 | |
100.00% |
7 / 7 |
|||
put | |
100.00% |
1 / 1 |
4 | |
100.00% |
7 / 7 |
|||
delete | |
100.00% |
1 / 1 |
6 | |
100.00% |
11 / 11 |
1 | <?php |
2 | namespace Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider; |
3 | |
4 | class FakeApi |
5 | { |
6 | protected $urls = [ |
7 | 'list_zone' => '{"status":"success","description":"Data successfully received.","data":{"zones":[{"id":"1000","name":"examplepull","status":"active","type":"pull","forcedownload":"disabled","cors":"disabled","gzip":"disabled","expire":"0","blockbadbots":"enabled","allowemptyreferrer":"enabled","http2":"enabled","securetoken":"disabled","securetokenkey":null,"sslcert":"shared","customsslkey":null,"customsslcert":null,"forcessl":"disabled","originurl":"https://example.com","cachemaxexpire":"1440","cacheignorecachecontrol":"enabled","cacheignorequerystring":"enabled","cachehostheader":"disabled","cachekeyscheme":"disabled","cachekeyhost":"disabled","cachekeycookie":null,"cachekeydevice":"disabled","cachebr":"disabled","cachecookies":"disabled","cachestripcookies":"disabled","cachexpullkey":"KeyCDN","cachecanonical":"disabled","cacherobots":"disabled","cacheerrorpages":"enabled"},{"id":"1001","name":"examplepush","status":"active","type":"push","forcedownload":"disabled","cors":"disabled","gzip":"disabled","expire":"0","blockbadbots":"enabled","allowemptyreferrer":"enabled","http2":"enabled","securetoken":"disabled","securetokenkey":null,"sslcert":"shared","customsslkey":null,"customsslcert":null,"forcessl":"disabled","dirlist":"disabled","dirindex":"disabled"}]}}', |
8 | 'view_zone' => '{"status":"success","description":"Data successfully received.","data":{"zone":{"id":"1000","name":"examplepull","status":"active","type":"pull","forcedownload":"disabled","cors":"disabled","gzip":"disabled","expire":"0","blockbadbots":"enabled","allowemptyreferrer":"enabled","http2":"enabled","securetoken":"disabled","securetokenkey":null,"sslcert":"shared","customsslkey":null,"customsslcert":null,"forcessl":"disabled","originurl":"https://example.com","originshield":"disabled","cachemaxexpire":"1440","cacheignorecachecontrol":"enabled","cacheignorequerystring":"enabled","cachehostheader":"disabled","cachekeyscheme":"disabled","cachekeyhost":"disabled","cachekeycookie":null,"cachekeydevice":"disabled","cachebr":"disabled","cachecookies":"disabled","cachestripcookies":"disabled","cachexpullkey":"KeyCDN","cachecanonical":"disabled","cacherobots":"disabled","cacheerrorpages":"enabled"}}}', |
9 | 'add_zone' => '{"status":"success","description":"Zone successfully added.","data":{"zone":{"id":"1000","name":"examplepull","status":"active","type":"pull","forcedownload":"disabled","cors":"disabled","gzip":"disabled","expire":"0","blockbadbots":"enabled","allowemptyreferrer":"enabled","http2":"enabled","securetoken":"disabled","securetokenkey":null,"sslcert":"shared","customsslkey":null,"customsslcert":null,"forcessl":"disabled","originurl":"https://example.com","originshield":"disabled","cachemaxexpire":"1440","cacheignorecachecontrol":"enabled","cacheignorequerystring":"enabled","cachehostheader":"disabled","cachekeyscheme":"disabled","cachekeyhost":"disabled","cachekeycookie":null,"cachekeydevice":"disabled","cachebr":"disabled","cachecookies":"disabled","cachestripcookies":"disabled","cachexpullkey":"KeyCDN","cachecanonical":"disabled","cacherobots":"disabled","cacheerrorpages":"enabled"}}}', |
10 | 'edit_zone' => '{"status":"success","description":"Zone successfully changed.","data":{"zone":{"id":"1000","name":"examplepull","status":"active","type":"pull","forcedownload":"disabled","cors":"disabled","gzip":"disabled","expire":"43200","blockbadbots":"enabled","allowemptyreferrer":"enabled","http2":"enabled","securetoken":"disabled","securetokenkey":null,"sslcert":"shared","customsslkey":null,"customsslcert":null,"forcessl":"disabled","originurl":"https://example.com","originshield":"disabled","cachemaxexpire":"1440","cacheignorecachecontrol":"enabled","cacheignorequerystring":"enabled","cachehostheader":"disabled","cachekeyscheme":"disabled","cachekeyhost":"disabled","cachekeycookie":null,"cachekeydevice":"disabled","cachebr":"disabled","cachecookies":"disabled","cachestripcookies":"disabled","cachexpullkey":"KeyCDN","cachecanonical":"disabled","cacherobots":"disabled","cacheerrorpages":"enabled"}}}', |
11 | 'delete_zone' => '{"status":"success","description":"Zone successfully deleted.","data":[]}', |
12 | |
13 | 'purge_zone_cache' => '{"status":"success","description":"Cache has been cleared for zone examplepull."}', |
14 | 'purge_zone_url' => '{"status":"success","description":"Cache has been cleared for URL(s)."}', |
15 | 'purge_zone_tag' => '{"status":"success","description":"Cache has been cleared by tag(s)."}', |
16 | |
17 | 'list_zone_aliases' => '{"status":"success","description":"Data successfully received.","data":{"zonealiases":[{"id":"2000","zone_id":"1000","name":"cdnpull.example.com"},{"id":"2001","zone_id":"1001","name":"cdnpush.example.com"}]}}', |
18 | 'add_zone_alias' => '{"status":"success","description":"Zone Alias successfully added.","data":{"zonealias":{"id":"2000","name":"cdnpull.example.com","zone_id":"1000"}}}', |
19 | 'edit_zone_alias' => '{"status":"success","description":"Zone Alias successfully changed.","data":{"zonealias":{"id":"2000","name":"cdn-pull.example.com","zone_id":"1000"}}}', |
20 | 'delete_zone_alias' => '{"status":"success","description":"Zone Alias successfully deleted.","data":[]}', |
21 | |
22 | 'list_zone_referrers' => '{"status":"success","description":"Data successfully received.","data":{"zonereferrers":[{"id":"3000","zone_id":"1000","name":"example.com"},{"id":"3001","zone_id":"1000","name":"cdnpull.example.com"},{"id":"3002","zone_id":"1000","name":"examplepull-1a2b.kxcdn.com"}]}}', |
23 | 'add_zone_referrer' => '{"status":"success","description":"Zone Referrer successfully added.","data":{"zonereferrer":{"id":"3000","name":"example.com","zone_id":"1000"}}}', |
24 | 'edit_zone_referrer' => '{"status":"success","description":"Zone Referrer successfully changed.","data":{"zonereferrer":{"id":"3000","name":"example.net","zone_id":"1000"}}}', |
25 | 'delete_zone_referrer' => '{"status":"success","description":"Zone Referrer successfully deleted.","data":[]}', |
26 | |
27 | 'traffic_stats' => '{"status":"success","description":"Data successfully received.","data":{"stats":[{"amount":"6822186","timestamp":"1541030400"},{"amount":"9327251","timestamp":"1541116800"},{"amount":"6104220","timestamp":"1541203200"}]}}', |
28 | 'storage_stats' => '{"status":"success","description":"Data successfully received.","data":{"stats":[{"amount":"538923008","timestamp":"1541030400"},{"amount":"538923008","timestamp":"1541116800"},{"amount":"538923008","timestamp":"1541203200"}]}}', |
29 | 'status_stats' => '{"status":"success","description":"Data successfully received.","data":{"stats":[{"totalcachehit":"313","totalcachemiss":"18","totalsuccess":"329","totalerror":"5","timestamp":"1541030400"},{"totalcachehit":"219","totalcachemiss":"4","totalsuccess":"220","totalerror":"2","timestamp":"1541116800"},{"totalcachehit":"284","totalcachemiss":"11","totalsuccess":"302","totalerror":"4","timestamp":"1541203200"}]}}', |
30 | 'credits_stats' => '{"status":"success","description":"Data successfully received.","data":{"stats":[{"amount":"-0.01","type":"storage","timestamp":"1541030400"},{"amount":"-0.02","type":"traffic","timestamp":"1541030400"},{"amount":"-0.01","type":"traffic","timestamp":"1541116800"},{"amount":"-0.01","type":"storage","timestamp":"1541116800"},{"amount":"-0.01","type":"storage","timestamp":"1541203200"},{"amount":"-0.02","type":"traffic","timestamp":"1541203200"}]}}', |
31 | ]; |
32 | |
33 | public function get($url, array $parameters = []) |
34 | { |
35 | if ($url === 'zones.json') { |
36 | return $this->urls['list_zone']; |
37 | } else if (strstr($url, 'zones/') !== false) { |
38 | return $this->urls['view_zone']; |
39 | } else if (strstr($url, 'purge') !== false) { |
40 | return $this->urls['purge_zone_cache']; |
41 | } else if ($url === 'zonealiases.json') { |
42 | return $this->urls['list_zone_aliases']; |
43 | } else if ($url === 'zonereferrers.json') { |
44 | return $this->urls['list_zone_referrers']; |
45 | } else if (strstr($url, 'traffic.json') !== false) { |
46 | return $this->urls['traffic_stats']; |
47 | } else if (strstr($url, 'storage.json') !== false) { |
48 | return $this->urls['storage_stats']; |
49 | } else if (strstr($url, 'statestats.json') !== false) { |
50 | return $this->urls['status_stats']; |
51 | } else if (strstr($url, 'credits.json') !== false) { |
52 | return $this->urls['credits_stats']; |
53 | } else { |
54 | return ''; |
55 | } |
56 | } |
57 | |
58 | public function post($url, array $parameters = []) |
59 | { |
60 | if ($url === 'zones.json') { |
61 | return $this->urls['add_zone']; |
62 | } else if ($url === 'zonealiases.json') { |
63 | return $this->urls['add_zone_alias']; |
64 | } else if ($url === 'zonereferrers.json') { |
65 | return $this->urls['add_zone_referrer']; |
66 | } else { |
67 | return ''; |
68 | } |
69 | } |
70 | |
71 | public function put($url, array $parameters = []) |
72 | { |
73 | if (strstr($url, 'zones/') !== false) { |
74 | return $this->urls['edit_zone']; |
75 | } else if (strstr($url, 'zonealiases/') !== false) { |
76 | return $this->urls['edit_zone_alias']; |
77 | } else if (strstr($url, 'zonereferrers/') !== false) { |
78 | return $this->urls['edit_zone_referrer']; |
79 | } else { |
80 | return ''; |
81 | } |
82 | } |
83 | |
84 | public function delete($url, array $parameters = []) |
85 | { |
86 | if (strstr($url, 'zones/') !== false) { |
87 | return $this->urls['delete_zone']; |
88 | } else if (strstr($url, 'zonealiases/') !== false) { |
89 | return $this->urls['delete_zone_alias']; |
90 | } else if (strstr($url, 'zonereferrers/') !== false) { |
91 | return $this->urls['delete_zone_referrer']; |
92 | } else if (strstr($url, 'purgeurl/') !== false) { |
93 | return $this->urls['purge_zone_url']; |
94 | } else if (strstr($url, 'purgetag/') !== false) { |
95 | return $this->urls['purge_zone_tag']; |
96 | } else { |
97 | return ''; |
98 | } |
99 | } |
100 | } |