Overview

Namespaces

  • None
  • tests
    • unit
      • barebones
        • utilities
      • lib

Classes

  • TestCase
  • tests\unit\barebones\utilities\ArraysTest
  • tests\unit\barebones\utilities\MathTest
  • tests\unit\BaseUnitTestCase
  • tests\unit\lib\BrowserIdentificationTest
  • tests\unit\lib\PathManagerTest
  • tests\unit\lib\UrlManagerTest
  • tests\unit\lib\VariantRulesTest
  • tests\unit\lib\VariantsManagerTest
  • Overview
  • Namespace
  • Class
  1: <?php
  2: namespace tests\unit\lib;
  3: 
  4: use Azalea\Core\Config\ConfigManager;
  5: use Azalea\Core\Environment\Environment;
  6: use Azalea\Core\Config\RepositoryMemoryLoader;
  7: use Azalea\Core\Util\NestedHashMap;
  8: 
  9: use barebones\lib\filesystem\PathManager;
 10: use barebones\lib\http\UrlManager;
 11: 
 12: use Symfony\Component\HttpFoundation\Request;
 13: 
 14: use tests\unit\BaseUnitTestCase;
 15: 
 16: class UrlManagerTest extends BaseUnitTestCase
 17: {
 18:     public function setUp()
 19:     {
 20:         putenv("BRANCH_ROOT=");
 21:     }
 22: 
 23:     public function testCreateUrlManager()
 24:     {
 25:         $env = new Environment("development", "adev01d");
 26:         $config = new ConfigManager(
 27:             new RepositoryMemoryLoader(array())
 28:         );
 29:         $request = Request::create(
 30:             'https://branches.azaleahealth.com/testing/',
 31:             'GET',
 32:             array()
 33:         );
 34: 
 35:         $url = new UrlManager($env, $config, $request);
 36:         $this->assertTrue(true);
 37:     }
 38: 
 39:     public function testGetBase()
 40:     {
 41:         $config = new ConfigManager(
 42:             new RepositoryMemoryLoader(array())
 43:         );
 44: 
 45:         // adev01d
 46:         $env = new Environment("development", "adev01d");
 47:         $request = Request::create('https://adev01d.azaleahealth.com/testing/', 'GET', array());
 48:         $url = new UrlManager($env, $config, $request);
 49:         $this->assertEquals("https://adev01d.azaleahealth.com/testing/", $url->getBase());
 50: 
 51:         // branch url multiple dirs deep
 52:         putenv("BRANCH_ROOT=testing/hotfix");
 53:         $url = new UrlManager($env, $config, $request);
 54:         $this->assertEquals("https://adev01d.azaleahealth.com/testing/hotfix/", $url->getBase());
 55:         putenv("BRANCH_ROOT=");
 56: 
 57:         // adev01
 58:         $env = new Environment("development", "adev01");
 59:         $request = Request::create('https://adev01.azaleahealth.com/testing/', 'GET', array());
 60:         $url = new UrlManager($env, $config, $request);
 61:         $this->assertEquals("https://adev01.azaleahealth.com/testing/", $url->getBase());
 62: 
 63:         // branch url multiple dirs deep
 64:         putenv("BRANCH_ROOT=testing/hotfix");
 65:         $url = new UrlManager($env, $config, $request);
 66:         $this->assertEquals("https://adev01.azaleahealth.com/testing/hotfix/", $url->getBase());
 67:         putenv("BRANCH_ROOT=");
 68: 
 69:         // production url
 70:         $request = Request::create(
 71:             'https://app.azaleahealth.com/',
 72:             'GET',
 73:             array()
 74:         );
 75: 
 76:         $url = new UrlManager($env, $config, $request);
 77:         $this->assertEquals("https://app.azaleahealth.com/", $url->getBase());
 78:     }
 79: 
 80:     public function testGetBaseCommandLine()
 81:     {
 82:         $config = new ConfigManager(
 83:             new RepositoryMemoryLoader(array())
 84:         );
 85: 
 86:         // request will be created empty since we are running from the command line
 87:         $request = Request::createFromGlobals();
 88: 
 89:         // development url
 90:         $env = new Environment("development", "adev01d");
 91:         $url = new UrlManager($env, $config, $request);
 92:         $this->assertEquals("https://adev01d.azaleahealth.com/", $url->getBase());
 93: 
 94:         $env = new Environment("development", "adev01");
 95:         $url = new UrlManager($env, $config, $request);
 96:         $this->assertEquals("https://adev01.azaleahealth.com/", $url->getBase());
 97: 
 98:         // production url
 99:         $env = new Environment("production", "aws01");
100:         $url = new UrlManager($env, $config, $request);
101:         $this->assertEquals("https://app.azaleahealth.com/", $url->getBase());
102: 
103:         // fs url
104:         $env = new Environment("fs", "fs01");
105:         $url = new UrlManager($env, $config, $request);
106:         $this->assertEquals("https://app.azaleahealth.com/", $url->getBase());
107: 
108:         // afs url
109:         $env = new Environment("afs", "afs01");
110:         $url = new UrlManager($env, $config, $request);
111:         $this->assertEquals("https://app.azaleahealth.com/", $url->getBase());
112:     }
113: 
114:     public function testGetBranchName()
115:     {
116:         $config = new ConfigManager(
117:             new RepositoryMemoryLoader(array())
118:         );
119: 
120:         // adev01d
121:         $env = new Environment("development", "adev01d");
122:         $request = Request::create('https://adev01d.azaleahealth.com/testing/', 'GET', array());
123:         $url = new UrlManager($env, $config, $request);
124:         $this->assertEquals("testing", $url->getBranchName());
125: 
126:         // branch url multiple dirs deep
127:         putenv("BRANCH_ROOT=testing/hotfix");
128:         $url = new UrlManager($env, $config, $request);
129:         $this->assertEquals("testing/hotfix", $url->getBranchName());
130:         putenv("BRANCH_ROOT=");
131: 
132:         // adev01
133:         $env = new Environment("development", "adev01");
134:         $request = Request::create('https://adev01.azaleahealth.com/testing/', 'GET', array());
135:         $url = new UrlManager($env, $config, $request);
136:         $this->assertEquals("testing", $url->getBranchName());
137: 
138:         // branch url multiple dirs deep
139:         putenv("BRANCH_ROOT=testing/hotfix");
140:         $url = new UrlManager($env, $config, $request);
141:         $this->assertEquals("testing/hotfix", $url->getBranchName());
142:         putenv("BRANCH_ROOT=");
143:     }
144: 
145:     public function testMakeUrl()
146:     {
147:         $config = new ConfigManager(
148:             new RepositoryMemoryLoader(array())
149:         );
150: 
151:         // adev01d
152:         $env = new Environment("development", "adev01d");
153:         $request = Request::create('https://adev01d.azaleahealth.com/testing/', 'GET', array());
154:         $url = new UrlManager($env, $config, $request);
155:         $this->assertEquals("https://adev01d.azaleahealth.com/testing/selenium.html", $url->makeUrl("selenium.html"));
156: 
157:         // adev01
158:         $env = new Environment("development", "adev01");
159:         $request = Request::create('https://adev01.azaleahealth.com/testing/', 'GET', array());
160:         $url = new UrlManager($env, $config, $request);
161:         $this->assertEquals("https://adev01.azaleahealth.com/testing/selenium.html", $url->makeUrl("selenium.html"));
162: 
163:         // production url
164:         $request = Request::create(
165:             'https://app.azaleahealth.com/',
166:             'GET',
167:             array()
168:         );
169: 
170:         $url = new UrlManager($env, $config, $request);
171:         $this->assertEquals("https://app.azaleahealth.com/selenium.html", $url->makeUrl("selenium.html"));
172:     }
173: 
174:     public function testMakeUrlCommandLine()
175:     {
176:         $config = new ConfigManager(
177:             new RepositoryMemoryLoader(array())
178:         );
179: 
180:         // request will be created empty since we are running from the command line
181:         $request = Request::createFromGlobals();
182: 
183:         // development url
184:         $env = new Environment("development", "adev01d");
185:         $url = new UrlManager($env, $config, $request);
186:         $this->assertEquals("https://adev01d.azaleahealth.com/selenium.html", $url->makeUrl("selenium.html"));
187: 
188:         $env = new Environment("development", "adev01");
189:         $url = new UrlManager($env, $config, $request);
190:         $this->assertEquals("https://adev01.azaleahealth.com/selenium.html", $url->makeUrl("selenium.html"));
191: 
192:         // production url
193:         $env = new Environment("production", "aws01");
194:         $url = new UrlManager($env, $config, $request);
195:         $this->assertEquals("https://app.azaleahealth.com/selenium.html", $url->makeUrl("selenium.html"));
196: 
197:         // fs url
198:         $env = new Environment("fs", "fs01");
199:         $url = new UrlManager($env, $config, $request);
200:         $this->assertEquals("https://app.azaleahealth.com/selenium.html", $url->makeUrl("selenium.html"));
201: 
202:         // afs url
203:         $env = new Environment("afs", "afs01");
204:         $url = new UrlManager($env, $config, $request);
205:         $this->assertEquals("https://app.azaleahealth.com/selenium.html", $url->makeUrl("selenium.html"));
206:     }
207: 
208:     public function testGetHome()
209:     {
210:         $config = new ConfigManager(
211:             new RepositoryMemoryLoader(array())
212:         );
213: 
214:         // adev01d
215:         $env = new Environment("development", "adev01d");
216:         $request = Request::create('https://adev01d.azaleahealth.com/testing/', 'GET', array());
217:         $url = new UrlManager($env, $config, $request);
218:         $this->assertEquals("http://adev01d.azaleahealth.com/testing/", $url->getHome());
219: 
220:         // adev01
221:         $env = new Environment("development", "adev01");
222:         $request = Request::create('https://adev01.azaleahealth.com/testing/', 'GET', array());
223:         $url = new UrlManager($env, $config, $request);
224:         $this->assertEquals("http://adev01.azaleahealth.com/testing/", $url->getHome());
225: 
226:         // production url
227:         $request = Request::create(
228:             'https://app.azaleahealth.com/',
229:             'GET',
230:             array()
231:         );
232: 
233:         $url = new UrlManager($env, $config, $request);
234:         $this->assertEquals("http://app.azaleahealth.com/", $url->getHome());
235:     }
236: 
237:     public function testGetHomeCommandLine()
238:     {
239:         $config = new ConfigManager(
240:             new RepositoryMemoryLoader(array())
241:         );
242: 
243:         // request will be created empty since we are running from the command line
244:         $request = Request::createFromGlobals();
245: 
246:         // development url
247:         $env = new Environment("development", "adev01d");
248:         $url = new UrlManager($env, $config, $request);
249:         $this->assertEquals("http://adev01d.azaleahealth.com/", $url->getHome());
250: 
251:         $env = new Environment("development", "adev01");
252:         $url = new UrlManager($env, $config, $request);
253:         $this->assertEquals("http://adev01.azaleahealth.com/", $url->getHome());
254: 
255:         // production url
256:         $env = new Environment("production", "aws01");
257:         $url = new UrlManager($env, $config, $request);
258:         $this->assertEquals("http://app.azaleahealth.com/", $url->getHome());
259: 
260:         // fs url
261:         $env = new Environment("fs", "fs01");
262:         $url = new UrlManager($env, $config, $request);
263:         $this->assertEquals("http://app.azaleahealth.com/", $url->getHome());
264: 
265:         // afs url
266:         $env = new Environment("afs", "afs01");
267:         $url = new UrlManager($env, $config, $request);
268:         $this->assertEquals("http://app.azaleahealth.com/", $url->getHome());
269:     }
270: 
271:     public function testGetTemp()
272:     {
273:         $config = new ConfigManager(
274:             new RepositoryMemoryLoader(array())
275:         );
276: 
277:         // adev01d
278:         $env = new Environment("development", "adev01d");
279:         $request = Request::create('https://adev01d.azaleahealth.com/testing/', 'GET', array());
280:         $url = new UrlManager($env, $config, $request);
281:         $this->assertEquals("https://adev01d.azaleahealth.com/tmp/", $url->getTemp());
282:         $this->assertEquals("https://adev01d.azaleahealth.com/tmp/abc.pdf", $url->getTemp("abc.pdf"));
283: 
284:         // adev01
285:         $env = new Environment("development", "adev01");
286:         $request = Request::create('https://adev01.azaleahealth.com/testing/', 'GET', array());
287:         $url = new UrlManager($env, $config, $request);
288:         $this->assertEquals("https://adev01.azaleahealth.com/tmp/", $url->getTemp());
289:         $this->assertEquals("https://adev01.azaleahealth.com/tmp/abc.pdf", $url->getTemp("abc.pdf"));
290: 
291:         // production url
292:         $env = new Environment("production", "aws01");
293:         $config = new ConfigManager(
294:             new RepositoryMemoryLoader(array(
295:                 "url" => array(
296:                     "files" => array(
297:                         "com" => "https://app.azaleahealth.com/",
298:                         "net" => "https://www.azaleahealth.net/"
299:                     )
300:                 )
301:             ))
302:         );
303:         $request = Request::create(
304:             'https://app.azaleahealth.com/',
305:             'GET',
306:             array()
307:         );
308: 
309:         $url = new UrlManager($env, $config, $request);
310:         $this->assertEquals("https://app.azaleahealth.com/awa/tmp/", $url->getTemp());
311:         $this->assertEquals("https://app.azaleahealth.com/awa/tmp/abc.pdf", $url->getTemp("abc.pdf"));
312: 
313:         // production url, .net address
314:         $request = Request::create(
315:             'https://www.azaleahealth.net/',
316:             'GET',
317:             array()
318:         );
319: 
320:         $url = new UrlManager($env, $config, $request);
321:         $this->assertEquals("https://www.azaleahealth.net/awa/tmp/", $url->getTemp());
322:         $this->assertEquals("https://www.azaleahealth.net/awa/tmp/abc.pdf", $url->getTemp("abc.pdf"));
323:     }
324: 
325:     public function testGetScan()
326:     {
327:         $config = new ConfigManager(
328:             new RepositoryMemoryLoader(array())
329:         );
330: 
331:         // adev01d
332:         $env = new Environment("development", "adev01d");
333:         $request = Request::create('https://adev01d.azaleahealth.com/testing/', 'GET', array());
334:         $url = new UrlManager($env, $config, $request);
335:         $this->assertEquals("https://adev01d.azaleahealth.com/scans/", $url->getScan());
336:         $this->assertEquals("https://adev01d.azaleahealth.com/scans/abc.pdf", $url->getScan("abc.pdf"));
337: 
338:         // adev01
339:         $env = new Environment("development", "adev01");
340:         $request = Request::create('https://adev01.azaleahealth.com/testing/', 'GET', array());
341:         $url = new UrlManager($env, $config, $request);
342:         $this->assertEquals("https://adev01.azaleahealth.com/scans/", $url->getScan());
343:         $this->assertEquals("https://adev01.azaleahealth.com/scans/abc.pdf", $url->getScan("abc.pdf"));
344: 
345:         // production url
346:         $env = new Environment("production", "aws01");
347:         $config = new ConfigManager(
348:             new RepositoryMemoryLoader(array(
349:                 "url" => array(
350:                     "files" => array(
351:                         "com" => "https://app.azaleahealth.com/",
352:                         "net" => "https://www.azaleahealth.net/"
353:                     )
354:                 )
355:             ))
356:         );
357:         $request = Request::create(
358:             'https://app.azaleahealth.com/',
359:             'GET',
360:             array()
361:         );
362: 
363:         $url = new UrlManager($env, $config, $request);
364:         $this->assertEquals("https://app.azaleahealth.com/awa/scans/", $url->getScan());
365:         $this->assertEquals("https://app.azaleahealth.com/awa/scans/abc.pdf", $url->getScan("abc.pdf"));
366: 
367:         // production url, .net address
368:         $request = Request::create(
369:             'https://www.azaleahealth.net/',
370:             'GET',
371:             array()
372:         );
373: 
374:         $url = new UrlManager($env, $config, $request);
375:         $this->assertEquals("https://www.azaleahealth.net/awa/scans/", $url->getScan());
376:         $this->assertEquals("https://www.azaleahealth.net/awa/scans/abc.pdf", $url->getScan("abc.pdf"));
377:     }
378: }
379: 
API documentation generated by ApiGen