#!/usr/bin/env php 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');