PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / microsoft / microsoft-graph / tests / Functional / OnedriveTest.php
ameliabooking / vendor / microsoft / microsoft-graph / tests / Functional Last commit date
Resources 5 years ago AzureTest.php 1 year ago ContactTest.php 5 years ago DeltaQueryTest.php 1 year ago EventTest.php 5 years ago ExcelTest.php 1 year ago GraphTestBase.php 1 year ago MailTest.php 1 year ago OnedriveTest.php 1 year ago OnenoteTest.php 1 year ago OpenTypeTest.php 1 year ago PlannerTest.php 1 year ago SharepointTest.php 1 year ago TermStoreTest.php 1 year ago TestConstants.php 1 year ago UserTest.php 1 year ago WebhooksTest.php 1 year ago
OnedriveTest.php
208 lines
1 <?php
2 use PHPUnit\Framework\TestCase;
3 use Microsoft\Graph\Test\GraphTestBase;
4 use Microsoft\Graph\Model;
5
6 class OnedriveTest extends TestCase
7 {
8 private $_client;
9
10 protected function setUp(): void
11 {
12 $graphTestBase = new GraphTestBase();
13 $this->_client = $graphTestBase->graphClient;
14 }
15
16 /**
17 * @group functional
18 */
19 public function testNextPageRequest()
20 {
21 $driveItemsPageIterator = $this->_client->createCollectionRequest("GET", "/me/drive/root/children")
22 ->setPageSize(4)
23 ->setReturnType(Model\DriveItem::class);
24 $driveItemsPage = $driveItemsPageIterator->getPage();
25 $this->assertNotNull($driveItemsPage);
26
27 while (!$driveItemsPageIterator->isEnd())
28 {
29 $driveItemsPage = $driveItemsPageIterator->getPage();
30 }
31
32 $this->assertNotNull($driveItemsPage);
33 }
34
35 /**
36 * @group functional
37 */
38 public function testGetContent()
39 {
40 $driveItems = $this->_client->createRequest("GET", "/me/drive/root/children")
41 ->setReturnType(Model\DriveItem::class)
42 ->execute();
43 foreach ($driveItems as $item)
44 {
45 if ($item->getFile())
46 {
47 $itemId = $item->getId();
48 $driveItemContent = $this->_client->createRequest("GET", "/me/drive/items/$itemId/content")
49 ->setReturnType(AmeliaGuzzleHttp\Psr7\Stream::class)
50 ->execute();
51 $this->assertNotEmpty((String)$driveItemContent);
52 }
53 }
54 }
55
56 /**
57 * @group functional
58 */
59 public function testDownloadFile()
60 {
61 $driveItems = $this->_client->createRequest("GET", "/me/drive/root/children")
62 ->setReturnType(Model\DriveItem::class)
63 ->execute();
64 foreach ($driveItems as $item)
65 {
66 //Find the first non-folder resource to download
67 if ($item->getFile())
68 {
69 $itemId = $item->getId();
70 $itemName = $item->getName();
71 $itemName = str_replace(" ", "_", $itemName);
72
73 $driveItemContent = $this->_client->createRequest("GET", "/me/drive/items/$itemId/content")
74 ->download("D:\\".$itemName);
75 $this->assertTrue(file_exists("D:\\".$itemName));
76 unlink("D:\\".$itemName);
77 break;
78 }
79 }
80 }
81
82
83 /**
84 * @group functional
85 */
86 public function testGetSetPermissions()
87 {
88 $driveItems = $this->_client->createRequest("GET", "/me/drive/root/children")
89 ->setReturnType(Model\DriveItem::class)
90 ->execute();
91
92 foreach ($driveItems as $item)
93 {
94 if ($item->getFile())
95 {
96 $itemId = $item->getId();
97 $driveItem = $this->_client->createRequest("GET", "/me/drive/items/$itemId?\$expand=permissions")
98 ->setReturnType(Model\DriveItem::class)
99 ->execute();
100 $this->assertNotNull($driveItem);
101
102 $perm = new Model\Permission();
103 $perm->setRoles(array("write"));
104 if (count($driveItem->getPermissions()) > 0)
105 {
106 $permId = $driveItem->getPermissions()[0]["id"];
107
108 $this->_client->createRequest("PATCH", "/me/drive/items/$itemId/permissions/$permId")
109 ->addHeaders(array("if-match" => $driveItem->getCTag()))
110 ->attachBody($perm)
111 ->execute();
112 $permission = $this->_client->createRequest("GET", "/me/drive/items/$itemId/permissions/$permId")
113 ->setReturnType(Model\Permission::class)
114 ->execute();
115
116 $this->assertNotNull($permission);
117 $this->assertEquals("write", $permission->getRoles()[0]);
118 }
119 break;
120 }
121 }
122 }
123
124 /**
125 * @group functional
126 */
127 public function testSearchFile()
128 {
129 $rareName = "zyxwvutsrqponmlkjihgfedcba";
130 $rareSearchItem = new Model\DriveItem();
131 $rareSearchItem->setName($rareName);
132
133 $folder = new Model\Folder();
134 $folder->setChildCount(0);
135
136 $rareSearchItem->setFolder($folder);
137 $rareSearchItem = $this->_client->createRequest("POST", "/me/drive/root/children")
138 ->attachBody($rareSearchItem)
139 ->setReturnType(Model\DriveItem::class)
140 ->execute();
141
142 $driveItems = $this->_client->createRequest("GET", "/me/drive/search(q='" . $rareName . "')")
143 ->setReturnType(Model\DriveItem::class)
144 ->execute();
145 try {
146 $this->assertEquals(1, count($driveItems));
147 } finally {
148 $this->_client->createRequest("DELETE", "/me/drive/items/" . $rareSearchItem->getId())
149 ->execute();
150 }
151 }
152
153 /**
154 * @group functional
155 */
156 public function testCreateSharingLink()
157 {
158 $itemsToShare = $this->_client->createRequest("GET", "/me/drive/root/children?\$filter=startswith(name, 'Timesheet')")
159 ->setReturnType(Model\DriveItem::class)
160 ->execute();
161 $itemToShare = $itemsToShare[0];
162 $this->assertEquals("Timesheet", substr($itemToShare->getName(), 0, 9));
163
164 $itemId = $itemToShare->getId();
165 $permission = $this->_client->createRequest("POST", "/me/drive/items/$itemId/createLink")
166 ->attachBody(array("type" => "edit", "scope" => "organization"))
167 ->setReturnType(Model\Permission::class)
168 ->execute();
169 $link = $permission->getLink();
170 $this->assertEquals("organization", $link->getScope());
171 $this->assertEquals("edit", $link->getType());
172 $this->assertNotNull($link->getWebUrl());
173 }
174
175 /**
176 * @group functional
177 */
178 public function testInvite()
179 {
180 $itemsToShare = $this->_client->createRequest("GET", "/me/drive/root/children?\$filter=startswith(name, 'Timesheet')")
181 ->setReturnType(Model\DriveItem::class)
182 ->execute();
183 $itemToShare = $itemsToShare[0];
184 $itemId = $itemToShare->getId();
185
186 $me = $this->_client->createRequest("GET", "/me")
187 ->setReturnType(Model\User::class)
188 ->execute();
189 $domain = explode("@", $me->getMail())[1];
190 $recipient = new Model\DriveRecipient();
191 $recipient->setEmail("alexd@".$domain);
192
193 $roles = array("write");
194
195 $body = array(
196 "recipients" => array($recipient),
197 "requireSignIn" => true,
198 "sendInvitation" => true,
199 "roles" => $roles,
200 "message" => "Check out the Invite feature!");
201
202 $inviteCollection = $this->_client->createRequest("POST", "/me/drive/items/$itemId/invite")
203 ->attachBody($body)
204 ->setReturnType(Model\Permission::class)
205 ->execute();
206 $this->assertEquals("Alex Darrow", $inviteCollection[0]->getGrantedTo()->getUser()->getDisplayName());
207 }
208 }