Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
4 / 4
CRAP
100.00% covered (success)
100.00%
44 / 44
FakeApi
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
4 / 4
24
100.00% covered (success)
100.00%
44 / 44
 get
100.00% covered (success)
100.00%
1 / 1
10
100.00% covered (success)
100.00%
19 / 19
 post
100.00% covered (success)
100.00%
1 / 1
4
100.00% covered (success)
100.00%
7 / 7
 put
100.00% covered (success)
100.00%
1 / 1
4
100.00% covered (success)
100.00%
7 / 7
 delete
100.00% covered (success)
100.00%
1 / 1
6
100.00% covered (success)
100.00%
11 / 11
1<?php
2namespace Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider;
3
4class 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}