znt/module/instance/test/model/countolddomain.php

110 lines
3.6 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 instanceModel::countOldDomain();
timeout=0
cid=16785
- 执行instanceTest模块的countOldDomainTest方法 @6
- 执行instanceTest模块的countOldDomainTest方法 @0
- 执行instanceTest模块的countOldDomainTest方法 @4
- 执行instanceTest模块的countOldDomainTest方法 @8
- 执行instanceTest模块的countOldDomainTest方法 @0
- 执行instanceTest模块的countOldDomainTest方法 @4
- 执行instanceTest模块的countOldDomainTest方法 @5
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
su('admin');
$instanceTest = new instanceModelTest();
// 准备基础配置数据确保cne模块的sysDomain方法可以正常工作
zenData('config')->gen(0);
$configTable = zenData('config');
$configTable->owner->range('system');
$configTable->module->range('cne');
$configTable->section->range('');
$configTable->key->range('domain');
$configTable->value->range('zentao.com');
$configTable->gen(1);
// 测试1包含多层子域名的旧域名实例计数
zenData('instance')->gen(0);
$table = zenData('instance');
$table->id->range('1-8');
$table->domain->range('app1.old.zentao.com{2}, app2.sub.zentao.com{2}, deep.nested.sub.zentao.com{1}, very.deep.multi.level.zentao.com{1}, simple{2}');
$table->deleted->range('0{8}');
$table->gen(8);
r($instanceTest->countOldDomainTest()) && p() && e('6');
// 测试2仅包含简单域名的实例计数无旧域名
zenData('instance')->gen(0);
$table = zenData('instance');
$table->id->range('1-5');
$table->domain->range('simple{3}, basic{2}');
$table->deleted->range('0{5}');
$table->gen(5);
r($instanceTest->countOldDomainTest()) && p() && e('0');
// 测试3包含已删除实例的旧域名计数过滤
zenData('instance')->gen(0);
$table = zenData('instance');
$table->id->range('1-6');
$table->domain->range('app1.old.zentao.com{2}, app2.sub.zentao.com{2}, deleted.old.zentao.com{2}');
$table->deleted->range('0{4}, 1{2}');
$table->gen(6);
r($instanceTest->countOldDomainTest()) && p() && e('4');
// 测试4混合域名格式的复杂场景计数
zenData('instance')->gen(0);
$table = zenData('instance');
$table->id->range('1-10');
$table->domain->range('app1.old.zentao.com{1}, simple{2}, nested.sub.app.zentao.com{2}, test.zentao.com{1}, prod.api.zentao.com{1}, admin.zentao.com{1}, user.app.zentao.com{2}');
$table->deleted->range('0{10}');
$table->gen(10);
r($instanceTest->countOldDomainTest()) && p() && e('8');
// 测试5空数据库场景的边界值处理
zenData('instance')->gen(0);
r($instanceTest->countOldDomainTest()) && p() && e('0');
// 测试6系统域名配置异常的容错处理
zenData('config')->gen(0);
zenData('instance')->gen(0);
$table = zenData('instance');
$table->id->range('1-4');
$table->domain->range('app1.old.example.com{2}, app2.sub.example.com{2}');
$table->deleted->range('0{4}');
$table->gen(4);
r($instanceTest->countOldDomainTest()) && p() && e('4');
// 测试7极端长域名和特殊字符域名处理
zenData('config')->gen(0);
$configTable = zenData('config');
$configTable->owner->range('system');
$configTable->module->range('cne');
$configTable->section->range('');
$configTable->key->range('domain');
$configTable->value->range('test-domain.com');
$configTable->gen(1);
zenData('instance')->gen(0);
$table = zenData('instance');
$table->id->range('1-6');
$table->domain->range('very-long-subdomain-name-with-dashes.test-domain.com{1}, app.test-domain.com{1}, simple-name{1}, sub.nested.test-domain.com{2}, special-chars.test-domain.com{1}');
$table->deleted->range('0{6}');
$table->gen(6);
r($instanceTest->countOldDomainTest()) && p() && e('5');