From 493b2b5343b9f90bd0f1ac6573e19f7e1666168e Mon Sep 17 00:00:00 2001 From: Juvenn Woo Date: Thu, 23 Mar 2017 14:32:46 +0800 Subject: [PATCH] (test) Test object access control --- test/ObjectTest.php | 1 + test/UserTest.php | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/test/ObjectTest.php b/test/ObjectTest.php index db14e57..e757a45 100644 --- a/test/ObjectTest.php +++ b/test/ObjectTest.php @@ -444,5 +444,6 @@ public function testPointerObjectHasNoData() { $this->assertFalse($obj->hasData()); } + } diff --git a/test/UserTest.php b/test/UserTest.php index 1023802..38ab2de 100644 --- a/test/UserTest.php +++ b/test/UserTest.php @@ -1,6 +1,7 @@ first(); } + public function testUserAccessControl() { + $user = User::logIn("alice", "blabla"); + $obj = new Object("TestObject"); + $obj->set("foo", "bar"); + $acl = new ACL(); + $acl->setPublicReadAccess(true); + $acl->setWriteAccess($user, true); + $obj->setACL($acl); + $obj->save(); + $this->assertNotEmpty($obj->getCreatedAt()); + $this->assertTrue($acl->getPublicReadAccess()); + $this->assertFalse($acl->getPublicWriteAccess()); + $this->assertTrue($acl->getWriteAccess($user)); + + $obj1 = new Object("TestObject", $obj->getObjectId()); + $obj1->fetch(); + + // try to update with current user + $obj1->set("foo", "bar1"); + $obj1->save(); + + $obj1->destroy(); + } }