Esempio n. 1
0
 public function test_validate_template()
 {
     $data = array("identifier" => "test_template", "description" => "Test Description", "entries" => array(array("name" => "[ZONE].example.toolongtld", "type" => "A", "content" => "127.0.0.2"), array("name" => "test.[ZONE].example.com", "type" => "MX", "content" => "mx.example.com"), array("name" => "example.com.[ZONE]", "type" => "CNAME", "content" => "example.com")));
     // Entry 1 invalid TLD, Entry 2 missing priority
     // [ZONE] may only be used as record suffix
     $validator = new TemplateValidator($data);
     $this->assertFalse($validator->validates());
     $this->assertCount(1, $validator->getErrors());
     $data['entries'][0]['name'] = "example.[ZONE]";
     $data['entries'][1]['name'] = "example.[ZONE]";
     $data['entries'][1]['priority'] = 123;
     // Entry 1 and 2 fixed
     $validator = new TemplateValidator($data);
     $this->assertTrue($validator->validates());
     $this->assertEmpty($validator->getErrors());
     // Entry 3 name too long
     $data['entries'][2]['name'] = str_repeat(str_repeat("a", 60) . ".", 10) . "com";
     $validator = new TemplateValidator($data);
     $this->assertFalse($validator->validates());
     $this->assertCount(1, $validator->getErrors());
     $data['entries'] = null;
     // Empty templates not allowed
     $validator = new TemplateValidator($data);
     $this->assertFalse($validator->validates());
     $this->assertCount(1, $validator->getErrors());
 }