public static function tearDownAfterClass() { parent::tearDownAfterClass(); API::userClear(self::$config['userID']); API::groupClear(self::$config['ownedPrivateGroupID']); }
public function tearDown() { API::userClear(self::$config['userID']); API::groupClear(self::$config['ownedPrivateGroupID']); }
if ($type == 'Private') { continue; } if (!$config['ownedPublicGroupID'] && $type == 'PublicOpen' && $owner == $config['userID'] && $libraryReading == 'all') { $config['ownedPublicGroupID'] = $id; } else { if (!$config['ownedPublicNoAnonymousGroupID'] && $type == 'PublicClosed' && $owner == $config['userID'] && $libraryReading == 'members') { $config['ownedPublicNoAnonymousGroupID'] = $id; } else { $toDelete[] = $id; } } } if (!$config['ownedPublicGroupID']) { $config['ownedPublicGroupID'] = API3::createGroup(['owner' => $config['userID'], 'type' => 'PublicOpen', 'libraryReading' => 'all']); } if (!$config['ownedPublicNoAnonymousGroupID']) { $config['ownedPublicNoAnonymousGroupID'] = API3::createGroup(['owner' => $config['userID'], 'type' => 'PublicClosed', 'libraryReading' => 'members']); } foreach ($toDelete as $groupID) { API3::deleteGroup($groupID); } $config['numOwnedGroups'] = 3; $config['numPublicGroups'] = 2; foreach ($groups as $group) { API3::groupClear($group['id']); } \Zotero\Tests\Config::update($config); unset($response); unset($groups); unset($toDelete);
public function testGroupLibraryReading() { $groupID = self::$config['ownedPublicNoAnonymousGroupID']; API::groupClear($groupID); $json = API::groupCreateItem($groupID, 'book', ['title' => "Test"], $this); try { API::useAPIKey(self::$config['apiKey']); $response = API::groupGet($groupID, "items"); $this->assert200($response); $this->assertNumResults(1, $response); // An anonymous request should fail, because libraryReading is members API::useAPIKey(false); $response = API::groupGet($groupID, "items"); $this->assert403($response); } finally { API::groupClear($groupID); } }