summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-12-31 09:56:41 -0800
committerTim Almdal <tnalmdal@shaw.ca>2009-12-31 09:56:41 -0800
commit732047e9c3cbd178acd07c531ed78afade9a4918 (patch)
treed8d5fae4bd5443f4c5a868a553f3c0bcac9a1993 /modules
parent4b44600bf9c3933d62c68fde35449b8681df4c82 (diff)
Create helper functions to create a test user, an album or image. Don't create the test objects in the setup, but do it in each test.
Diffstat (limited to 'modules')
-rw-r--r--modules/gallery/tests/Gallery_Rest_Helper_Test.php223
1 files changed, 117 insertions, 106 deletions
diff --git a/modules/gallery/tests/Gallery_Rest_Helper_Test.php b/modules/gallery/tests/Gallery_Rest_Helper_Test.php
index fba83d47..4cd3f2a6 100644
--- a/modules/gallery/tests/Gallery_Rest_Helper_Test.php
+++ b/modules/gallery/tests/Gallery_Rest_Helper_Test.php
@@ -21,104 +21,105 @@ class Gallery_Rest_Helper_Test extends Unit_Test_Case {
public function setup() {
$this->_save = array($_GET, $_POST, $_SERVER, $_FILES);
$this->_saved_active_user = identity::active_user();
-
- $this->_user = identity::create_user("access_test", "Access Test", "password");
- $key = ORM::factory("user_access_token");
- $this->_access_key = $key->access_key = md5($this->_user->name . rand());
- $key->user_id = $this->_user->id;
- $key->save();
-
- $root = ORM::factory("item", 1);
- $this->_album = album::create($root, "album", "Test Album", rand());
- $this->_child = album::create($this->_album, "child", "Test Child Album", rand());
-
- $filename = MODPATH . "gallery/tests/test.jpg";
- $rand = rand();
- $this->_photo = photo::create($this->_child, $filename, "$rand.jpg", $rand);
-
- $filename = MODPATH . "gallery/tests/test.jpg";
- $rand = rand();
- $this->_sibling = photo::create($this->_album, $filename, "$rand.jpg", $rand);
}
public function teardown() {
list($_GET, $_POST, $_SERVER, $_FILES) = $this->_save;
identity::set_active_user($this->_saved_active_user);
+ }
- try {
- if (!empty($this->_user)) {
- $this->_user->delete();
- }
- if (!empty($this->_album)) {
- $this->_album->delete();
- }
- } catch (Exception $e) { }
+ private function _create_user() {
+ $user = identity::create_user("access_test" . rand(), "Access Test", "password");
+ $key = ORM::factory("user_access_token");
+ $key->access_key = md5($user->name . rand());
+ $key->user_id = $user->id;
+ $key->save();
+ identity::set_active_user($user);
+ return $user;
+ }
+ private function _create_album($parent=null) {
+ $album_name = "album_" . rand();
+ if (empty($parent)) {
+ $parent = ORM::factory("item", 1);
+ }
+ return album::create($parent, $album_name, $album_name, $album_name);
+ }
+
+ private function _create_image($parent=null) {
+ $filename = MODPATH . "gallery/tests/test.jpg";
+ $image_name = "image_" . rand();
+ if (empty($parent)) {
+ $parent = ORM::factory("item", 1);
+ }
+ return photo::create($parent, $filename, "$image_name.jpg", $image_name);
}
public function gallery_rest_get_album_test() {
- $request = (object)array("arguments" => explode("/", $this->_child->relative_url()));
+ $album = $this->_create_album();
+ $child = $this->_create_album($album);
+ $photo = $this->_create_image($child);
+ $request = (object)array("arguments" => explode("/", $child->relative_url()));
$this->assert_equal(
json_encode(array("status" => "OK",
"resource" =>
- array("type" => $this->_child->type,
- "name" => $this->_child->name,
- "path" => $this->_child->relative_url(),
- "parent_path" => $this->_album->relative_url(),
- "title" => $this->_child->title,
- "thumb_url" => $this->_child->thumb_url(),
- "thumb_size" => array("height" => $this->_child->thumb_height,
- "width" => $this->_child->thumb_width),
- "resize_url" => $this->_child->resize_url(),
+ array("type" => $child->type,
+ "name" => $child->name,
+ "path" => $child->relative_url(),
+ "parent_path" => $album->relative_url(),
+ "title" => $child->title,
+ "thumb_url" => $child->thumb_url(),
+ "thumb_size" => array("height" => $child->thumb_height,
+ "width" => $child->thumb_width),
+ "resize_url" => $child->resize_url(),
"resize_size" => array("height" => 0,
"width" => 0),
- "url" => $this->_child->file_url(),
- "size" => array("height" => $this->_child->height,
- "width" => $this->_child->width),
- "description" => $this->_child->description,
- "slug" => $this->_child->slug,
+ "url" => $child->file_url(),
+ "size" => array("height" => $child->height,
+ "width" => $child->width),
+ "description" => $child->description,
+ "slug" => $child->slug,
"children" => array(array(
"type" => "photo",
"has_children" => false,
- "path" => $this->_photo->relative_url(),
- "thumb_url" => $this->_photo->thumb_url(),
+ "path" => $photo->relative_url(),
+ "thumb_url" => $photo->thumb_url(),
"thumb_dimensions" => array(
- "width" => $this->_photo->thumb_width,
- "height" => $this->_photo->thumb_height),
+ "width" => $photo->thumb_width,
+ "height" => $photo->thumb_height),
"has_thumb" => true,
- "title" => $this->_photo->title))))),
+ "title" => $photo->title))))),
gallery_rest::get($request));
}
public function gallery_rest_get_photo_test() {
- $request = (object)array("arguments" => explode("/", $this->_photo->relative_url()));
+ $child = $this->_create_album();
+ $photo = $this->_create_image($child);
+ $request = (object)array("arguments" => explode("/", $photo->relative_url()));
$this->assert_equal(
json_encode(array("status" => "OK",
"resource" =>
- array("type" => $this->_photo->type,
- "name" => $this->_photo->name,
- "path" => $this->_photo->relative_url(),
- "parent_path" => $this->_child->relative_url(),
- "title" => $this->_photo->title,
- "thumb_url" => $this->_photo->thumb_url(),
- "thumb_size" => array("height" => $this->_photo->thumb_height,
- "width" => $this->_photo->thumb_width),
- "resize_url" => $this->_photo->resize_url(),
- "resize_size" => array("height" => $this->_photo->resize_height,
- "width" => $this->_photo->resize_width),
- "url" => $this->_photo->file_url(),
- "size" => array("height" => $this->_photo->height,
- "width" => $this->_photo->width),
- "description" => $this->_photo->description,
- "slug" => $this->_photo->slug))),
+ array("type" => $photo->type,
+ "name" => $photo->name,
+ "path" => $photo->relative_url(),
+ "parent_path" => $child->relative_url(),
+ "title" => $photo->title,
+ "thumb_url" => $photo->thumb_url(),
+ "thumb_size" => array("height" => $photo->thumb_height,
+ "width" => $photo->thumb_width),
+ "resize_url" => $photo->resize_url(),
+ "resize_size" => array("height" => $photo->resize_height,
+ "width" => $photo->resize_width),
+ "url" => $photo->file_url(),
+ "size" => array("height" => $photo->height,
+ "width" => $photo->width),
+ "description" => $photo->description,
+ "slug" => $photo->slug))),
gallery_rest::get($request));
}
public function gallery_rest_put_album_no_path_test() {
- access::allow(identity::registered_users(), "edit", $this->_child);
-
- identity::set_active_user($this->_user);
$request = (object)array("description" => "Updated description",
"title" => "Updated Title",
"name" => "new name");
@@ -128,10 +129,8 @@ class Gallery_Rest_Helper_Test extends Unit_Test_Case {
}
public function gallery_rest_put_album_not_found_test() {
- access::allow(identity::registered_users(), "edit", $this->_child);
-
- identity::set_active_user($this->_user);
- $request = (object)array("arguments" => explode("/", $this->_photo->relative_url() . rand()),
+ $photo = $this->_create_image();
+ $request = (object)array("arguments" => explode("/", $photo->relative_url() . rand()),
"description" => "Updated description",
"title" => "Updated Title",
"name" => "new name");
@@ -145,8 +144,9 @@ class Gallery_Rest_Helper_Test extends Unit_Test_Case {
}
public function gallery_rest_put_album_no_edit_permission_test() {
- identity::set_active_user($this->_user);
- $request = (object)array("arguments" => explode("/", $this->_child->relative_url()),
+ $child = $this->_create_album();
+ $this->_create_user();
+ $request = (object)array("arguments" => explode("/", $child->relative_url()),
"description" => "Updated description",
"title" => "Updated Title",
"name" => "new name");
@@ -160,84 +160,95 @@ class Gallery_Rest_Helper_Test extends Unit_Test_Case {
}
public function gallery_rest_put_album_rename_conflict_test() {
- access::allow(identity::registered_users(), "edit", $this->_child);
- identity::set_active_user($this->_user);
- $request = (object)array("arguments" => explode("/", $this->_child->relative_url()),
+ $child = $this->_create_album();
+ $sibling = $this->_create_image();
+ $this->_create_user();
+ access::allow(identity::registered_users(), "edit", $child);
+ $request = (object)array("arguments" => explode("/", $child->relative_url()),
"description" => "Updated description",
"title" => "Updated Title",
- "name" => $this->_sibling->name);
+ "name" => $sibling->name);
$this->assert_equal(
json_encode(array("status" => "VALIDATE_ERROR",
- "fields" => array("slug" => "Duplicate Internet Address"))),
+ "fields" => array("slug" => "Duplicate Internet address"))),
gallery_rest::put($request));
}
public function gallery_rest_put_album_test() {
- access::allow(identity::registered_users(), "edit", $this->_child);
+ $child = $this->_create_album();
+ $sibling = $this->_create_image();
+ $this->_create_user();
+ access::allow(identity::registered_users(), "edit", $child);
- identity::set_active_user($this->_user);
- $request = (object)array("arguments" => explode("/", $this->_child->relative_url()),
+ $request = (object)array("arguments" => explode("/", $child->relative_url()),
"description" => "Updated description",
"title" => "Updated Title",
"name" => "new name");
$this->assert_equal(json_encode(array("status" => "OK")), gallery_rest::put($request));
- $this->_child->reload();
- $this->assert_equal("Updated description", $this->_child->description);
- $this->assert_equal("Updated Title", $this->_child->title);
- $this->assert_equal("new name", $this->_child->name);
+ $child->reload();
+ $this->assert_equal("Updated description", $child->description);
+ $this->assert_equal("Updated Title", $child->title);
+ $this->assert_equal("new name", $child->name);
}
public function gallery_rest_put_photo_test() {
- access::allow(identity::registered_users(), "edit", $this->_child);
+ $child = $this->_create_album();
+ $photo = $this->_create_image($child);
+ $this->_create_user();
+ access::allow(identity::registered_users(), "edit", $child);
- identity::set_active_user($this->_user);
- $request = (object)array("arguments" => explode("/", $this->_photo->relative_url()),
+ $request = (object)array("arguments" => explode("/", $photo->relative_url()),
"description" => "Updated description",
"title" => "Updated Title",
"name" => "new name");
$this->assert_equal(json_encode(array("status" => "OK")), gallery_rest::put($request));
- $this->_photo->reload();
- $this->assert_equal("Updated description", $this->_photo->description);
- $this->assert_equal("Updated Title", $this->_photo->title);
- $this->assert_equal("new name", $this->_photo->name);
+ $photo->reload();
+ $this->assert_equal("Updated description", $photo->description);
+ $this->assert_equal("Updated Title", $photo->title);
+ $this->assert_equal("new name", $photo->name);
}
public function gallery_rest_delete_album_test() {
- access::allow(identity::registered_users(), "edit", $this->_album);
+ $album = $this->_create_album();
+ $child = $this->_create_album($album);
+ $this->_create_user();
+ access::allow(identity::registered_users(), "edit", $album);
- identity::set_active_user($this->_user);
- $request = (object)array("arguments" => explode("/", $this->_child->relative_url()));
+ $request = (object)array("arguments" => explode("/", $child->relative_url()));
$this->assert_equal(json_encode(array("status" => "OK",
"resource" => array(
- "parent_path" => $this->_album->relative_url()))),
+ "parent_path" => $album->relative_url()))),
gallery_rest::delete($request));
- $this->_child->reload();
- $this->assert_false($this->_child->loaded());
+ $child->reload();
+ $this->assert_false($child->loaded());
}
public function gallery_rest_delete_photo_test() {
- access::allow(identity::registered_users(), "edit", $this->_album);
+ $album = $this->_create_album();
+ $photo = $this->_create_image($album);
+ $this->_create_user();
+ access::allow(identity::registered_users(), "edit", $album);
- identity::set_active_user($this->_user);
- $request = (object)array("arguments" => explode("/", $this->_sibling->relative_url()));
+ $request = (object)array("arguments" => explode("/", $photo->relative_url()));
$this->assert_equal(json_encode(array("status" => "OK",
"resource" => array(
- "parent_path" => $this->_album->relative_url()))),
+ "parent_path" => $album->relative_url()))),
gallery_rest::delete($request));
- $this->_sibling->reload();
- $this->assert_false($this->_sibling->loaded());
+ $photo->reload();
+ $this->assert_false($photo->loaded());
}
public function gallery_rest_post_album_test() {
- access::allow(identity::registered_users(), "edit", $this->_album);
+ $album = $this->_create_album();
+ $this->_create_user();
+ access::allow(identity::registered_users(), "edit", $album);
- $new_path = $this->_child->relative_url() . "/new%20child";
- identity::set_active_user($this->_user);
+ $new_path = $album->relative_url() . "/new%20child";
$request = (object)array("arguments" => explode("/", $new_path));
$this->assert_equal(json_encode(array("status" => "OK", "path" => $new_path)),