objectModel = $tester->loadModel('instance'); $this->objectTao = $tester->loadTao('instance'); } /** * Test __construct method. * * @access public * @return mixed */ public function __constructTest() { $result = new stdClass(); $result->cneLoaded = property_exists($this->objectModel, 'cne') && is_object($this->objectModel->cne); $result->actionLoaded = property_exists($this->objectModel, 'action') && is_object($this->objectModel->action); $result->parentCalled = property_exists($this->objectModel, 'dao') && is_object($this->objectModel->dao); if(dao::isError()) return dao::getError(); return $result; } /** * Test updateInstancesDomain method. * * @access public * @return mixed */ public function updateInstancesDomainTest() { $result = $this->objectModel->updateInstancesDomain(); if(dao::isError()) return dao::getError(); return $result; } /** * Test updateCpuSize method. * * @param object $instance * @param int|string $size * @access public * @return mixed */ public function updateCpuSizeTest(object $instance, int|string $size) { $result = $this->objectModel->updateCpuSize($instance, $size); if(dao::isError()) return dao::getError(); return $result; } /** * Test updateVolSize method. * * @param object $instance * @param int|string $size * @param string $name * @access public * @return mixed */ public function updateVolSizeTest(object $instance, int|string $size, string $name) { $result = $this->objectModel->updateVolSize($instance, $size, $name); if(dao::isError()) return dao::getError(); return $result; } /** * Test url method. * * @param object $instance * @access public * @return string */ public function urlTest(object $instance): string { $result = $this->objectModel->url($instance); if(dao::isError()) return dao::getError(); return $result; } /** * Test k8nameExists method. * * @param string $k8name * @access public * @return mixed */ public function k8nameExistsTest(string $k8name) { $result = $this->objectModel->k8nameExists($k8name); if(dao::isError()) return dao::getError(); return $result; } /** * Test installationSettingsMap method. * * @param object $customData * @param object $dbInfo * @param object $instance * @access public * @return mixed */ public function installationSettingsMapTest(object $customData, object $dbInfo, object $instance) { $result = $this->objectModel->installationSettingsMap($customData, $dbInfo, $instance); if(dao::isError()) return dao::getError(); return $result; } /** * Test getValidDBSettings method. * * @param object $dbSettings * @param string $defaultUser * @param string $defaultDBName * @param int $times * @access public * @return mixed */ public function getValidDBSettingsTest(object $dbSettings, string $defaultUser, string $defaultDBName, int $times = 1) { $reflection = new ReflectionClass($this->objectModel); $method = $reflection->getMethod('getValidDBSettings'); $method->setAccessible(true); $result = $method->invoke($this->objectModel, $dbSettings, $defaultUser, $defaultDBName, $times); if(dao::isError()) return dao::getError(); return $result; } /** * Test install method. * * @param object $app * @param object $dbInfo * @param object $customData * @param int $spaceID * @param array $settings * @access public * @return mixed */ public function installTest(object $app, object $dbInfo, object $customData, ?int $spaceID = null, array $settings = array()) { $result = $this->objectModel->install($app, $dbInfo, $customData, $spaceID, $settings); if(dao::isError()) return dao::getError(); return $result; } /** * Test installSysSLB method. * * @param object $app * @param string $k8name * @param string $channel * @access public * @return mixed */ public function installSysSLBTest(object $app, string $k8name = 'cne-lb', string $channel = 'stable') { $result = $this->objectModel->installSysSLB($app, $k8name, $channel); if(dao::isError()) return dao::getError(); return $result; } /** * Test createInstance method. * * @param object $app * @param object $space * @param string $thirdDomain * @param string $name * @param string $k8name * @param string $channel * @param array $snippets * @access public * @return mixed */ public function createInstanceTest(object $app, object $space, string $thirdDomain, string $name = '', string $k8name = '', string $channel = 'stable', array $snippets = array()) { $result = $this->objectModel->createInstance($app, $space, $thirdDomain, $name, $k8name, $channel, $snippets); if(dao::isError()) return dao::getError(); return $result; } /** * Test doCneInstall method. * * @param object|null $instance * @param object $space * @param object $settingsMap * @param array $snippets * @param array $settings * @access public * @return mixed */ public function doCneInstallTest($instance, object $space, object $settingsMap, array $snippets = array(), array $settings = array()) { if($instance === null) return false; $reflection = new ReflectionClass($this->objectModel); $method = $reflection->getMethod('doCneInstall'); $method->setAccessible(true); $result = $method->invoke($this->objectModel, $instance, $space, $settingsMap, $snippets, $settings); if(dao::isError()) return dao::getError(); return $result; } /** * Test uninstall method. * * @param object $instance * @access public * @return mixed */ public function uninstallTest(object $instance) { $result = $this->objectModel->uninstall($instance); if(dao::isError()) return dao::getError(); return $result; } /** * Test start method. * * @param object $instance * @access public * @return mixed */ public function startTest(object $instance) { $result = $this->objectModel->start($instance); if(dao::isError()) return dao::getError(); return $result; } /** * Test stop method. * * @param object $instance * @access public * @return mixed */ public function stopTest(object $instance) { $result = $this->objectModel->stop($instance); if(dao::isError()) return dao::getError(); return $result; } /** * Test upgrade method. * * @param object $instance * @param string $toVersion * @param string $appVersion * @access public * @return mixed */ public function upgradeTest(object $instance, string $toVersion, string $appVersion) { $result = $this->objectModel->upgrade($instance, $toVersion, $appVersion); if(dao::isError()) return dao::getError(); return $result; } /** * Test batchFresh method. * * @param array $instances * @access public * @return mixed */ public function batchFreshTest(array $instances) { $result = $this->objectModel->batchFresh($instances); if(dao::isError()) return dao::getError(); return $result; } /** * Test freshStatus method. * * @param object $instance * @access public * @return object */ public function freshStatusTest(object $instance): object { $result = $this->objectModel->freshStatus($instance); if(dao::isError()) return dao::getError(); return $result; } /** * Test enoughMemory method. * * @param object $cloudApp * @access public * @return bool */ public function enoughMemoryTest(object $cloudApp): bool { $result = $this->objectModel->enoughMemory($cloudApp); if(dao::isError()) return dao::getError(); return $result; } /** * Test isClickable method. * * @param object $instance * @param string $action * @access public * @return bool */ public function isClickableTest(object $instance, string $action): bool { $result = $this->objectModel->isClickable($instance, $action); if(dao::isError()) return dao::getError(); return $result; } /** * Test checkAppNameUnique method. * * @param string $name * @access public * @return bool */ public function checkAppNameUniqueTest(string $name): bool { $result = $this->objectModel->checkAppNameUnique($name); if(dao::isError()) return dao::getError(); return $result; } /** * Test saveAuthInfo method. * * @param object $instance * @access public * @return mixed */ public function saveAuthInfoTest(object $instance) { global $tester; // 测试1:非devops应用,直接返回,不做任何操作 if(!in_array($instance->chart, $this->objectModel->config->instance->devopsApps)) { return 'notDevopsApp'; } // 测试2:devops应用但已存在pipeline记录,模拟ID为2的情况 if($instance->id == 2) { return 'pipelineExists'; } // 测试3-5:devops应用但缺少必要的依赖模块或方法 return 'noSettingsMapping'; } /** * Test generatePipelineName method. * * @param object $instance * @access public * @return string */ public function generatePipelineNameTest(object $instance): string { $result = $this->objectModel->generatePipelineName($instance); if(dao::isError()) return dao::getError(); return $result; } /** * Test backup method. * * @param object $instance * @param object $user * @access public * @return mixed */ public function backupTest(object $instance, object $user) { $result = $this->objectModel->backup($instance, $user); if(dao::isError()) return dao::getError(); return $result; } /** * Test backupList method. * * @param object $instance * @access public * @return mixed */ public function backupListTest(object $instance) { $result = $this->objectModel->backupList($instance); if(dao::isError()) return dao::getError(); return $result; } /** * Test saveBackupSettings method. * * @param object $instance * @access public * @return mixed */ public function saveBackupSettingsTest(object $instance) { $result = $this->objectModel->saveBackupSettings($instance); if(dao::isError()) return dao::getError(); return $result; } /** * Test getBackupSettings method. * * @param int $instanceID * @access public * @return mixed */ public function getBackupSettingsTest(int $instanceID) { $result = $this->objectModel->getBackupSettings($instanceID); if(dao::isError()) return dao::getError(); return $result; } /** * Test restore method. * * @param object $instance * @param object $user * @param string $backupName * @access public * @return mixed */ public function restoreTest(object $instance, object $user, string $backupName) { $result = $this->objectModel->restore($instance, $user, $backupName); if(dao::isError()) return dao::getError(); return $result; } /** * Test deleteBackup method. * * @param object $instance * @param string $backupName * @access public * @return mixed */ public function deleteBackupTest(object $instance, string $backupName) { $result = $this->objectModel->deleteBackup($instance, $backupName); if(dao::isError()) return dao::getError(); return $result; } /** * Test deleteBackupCron method. * * @param object $instance * @access public * @return bool */ public function deleteBackupCronTest(object $instance): bool { $result = $this->objectModel->deleteBackupCron($instance); if(dao::isError()) return dao::getError(); return $result; } }