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 | } |