public function testUpdatePropertiesThrowsExceptionWhenObjectIsInInvalidState()
 {
     $mock = new MockServer();
     $apiObject = new Job(new Jenkins($mock), "blat");
     $apiObject->color = "fuschia";
     $apiObject->url = "";
     $this->assertEquals("fuschia", $apiObject->color);
     $this->assertEquals("", $apiObject->url);
     try {
         $apiObject->updateProperties(new JsonData(array('color' => "blue")));
         $this->fail("no InvalidApiObjectException thrown");
     } catch (InvalidApiObjectException $e) {
         $this->assertEquals("API object in invalid state", $e->getMessage());
     }
 }
Example #2
0
 /**
  * Constructs a Job from data assumed to have come from a Jenkins API call
  *
  * @param Jenkins $conn
  * @param JsonData $data
  * @return \mogman1\Jenkins\Job
  */
 public static function factory(Jenkins $conn, JsonData $data)
 {
     $name = $data->get("name", "");
     if (!$name) {
         throw new InvalidApiObjectException("'name' is required, but not found in build data");
     }
     $job = new Job($conn, $name);
     $job->updateProperties($data);
     return $job;
 }