/** * @return Model */ private function getTestModel() { $Facker = FackerFactory::create(); $Model = new Model(); $RegionAPI = new RegionAPI(); $NodeTypeAPI = new NodeTypeAPI(); $this->mockResponse(200, RegionTest::getMockData()); $Region = $RegionAPI->get('aws', 'eu-west-1'); $this->mockResponse(200, NodeTypeTest::getMockData()); $NodeType = $NodeTypeAPI->get('aws', 't2.nano'); $Model->setName('Cluster-test-' . $Facker->lexify())->setRegion($Region->getResourceUri())->setNodeType($NodeType->getResourceUri())->setTargetNumNodes(1)->setDisk(10)->setTags(['unit-test']); return $Model; }
/** * Because at the moment DockerCloud's API doesn't reply 'provider' as promised in document * I have to manually get a result from ProviderAPI to test 'get' function by RegionAPI */ public function testGet() { $API = new API(); $ProviderAPI = new ProviderAPI(); // Get whatever first replied responsed from server, I don't care... $this->mockGetListResponse(200, ProviderTest::getMockData()); $ProviderGetListResponse = $ProviderAPI->getList(); $Provider = $ProviderGetListResponse->getObjects()[0]; $this->mockResponse(200, $this->getMockData()); $Model = $API->getByUri($Provider->getRegions()[0]); $this->mockResponse(200, $this->getMockData()); $Model = $API->get($Provider->getName(), $Model->getName()); $this->assertInstanceOf(Model::class, $Model); }