@@ -20,6 +20,7 @@ namespace Dropbox.Api.Tests
2020 using Dropbox . Api . Auth ;
2121 using Dropbox . Api . Common ;
2222 using Dropbox . Api . Users ;
23+ using Dropbox . Api . Files ;
2324
2425 /// <summary>
2526 /// The test class for Dropbox API.
@@ -47,6 +48,7 @@ public class DropboxApiTests
4748 /// </summary>
4849 public static DropboxAppClient AppClient ;
4950
51+ private readonly static string TestingPath = "/Testing/Dropbox.Api.Tests" ;
5052
5153 [ ClassInitialize ]
5254 public static void Initialize ( TestContext context )
@@ -64,20 +66,28 @@ public static void Initialize(TestContext context)
6466 }
6567
6668 [ TestInitialize ]
67- public void Initialize ( )
69+ public async void Initialize ( )
6870 {
69- var result = Client . Files . ListFolderAsync ( "" ) . Result ;
70- Assert . AreEqual ( result . Entries . Count , 0 ) ;
71+ try
72+ {
73+ var result = await Client . Files . ListFolderAsync ( TestingPath ) ;
74+ Assert . AreEqual ( 0 , result . Entries . Count ) ;
75+ } catch ( ApiException < ListFolderError > )
76+ {
77+ // create folder if it doesn't exist
78+ var result = Client . Files . CreateFolderV2Async ( TestingPath ) . Result ;
79+ Assert . AreEqual ( TestingPath , result . Metadata . PathDisplay ) ;
80+ }
7181 }
7282
7383
7484 [ TestCleanup ]
7585 public void Cleanup ( )
7686 {
77- var result = Client . Files . ListFolderAsync ( "" ) . Result ;
87+ var result = Client . Files . ListFolderAsync ( TestingPath ) . Result ;
7888
7989 foreach ( var entry in result . Entries ) {
80- Client . Files . DeleteAsync ( entry . PathLower ) . Wait ( ) ;
90+ Client . Files . DeleteV2Async ( entry . PathLower ) . Wait ( ) ;
8191 }
8292 }
8393
@@ -88,11 +98,11 @@ public void Cleanup()
8898 [ TestMethod ]
8999 public async Task TestGetMetadata ( )
90100 {
91- await Client . Files . UploadAsync ( "/Foo.txt" , body : GetStream ( "abc" ) ) ;
92- var metadata = await Client . Files . GetMetadataAsync ( "/Foo.txt" ) ;
101+ await Client . Files . UploadAsync ( TestingPath + "/Foo.txt" , body : GetStream ( "abc" ) ) ;
102+ var metadata = await Client . Files . GetMetadataAsync ( TestingPath + "/Foo.txt" ) ;
93103 Assert . AreEqual ( "Foo.txt" , metadata . Name ) ;
94- Assert . AreEqual ( "/foo.txt" , metadata . PathLower ) ;
95- Assert . AreEqual ( "/Foo.txt" , metadata . PathDisplay ) ;
104+ Assert . AreEqual ( TestingPath . ToLower ( ) + "/foo.txt" , metadata . PathLower ) ;
105+ Assert . AreEqual ( TestingPath + "/Foo.txt" , metadata . PathDisplay ) ;
96106 Assert . IsTrue ( metadata . IsFile ) ;
97107
98108 var file = metadata . AsFile ;
@@ -106,17 +116,17 @@ public async Task TestGetMetadata()
106116 [ TestMethod ]
107117 public async Task TestListFolder ( )
108118 {
109- var files = new HashSet < string > { "/ a.txt" , "/ b.txt" , "/ c.txt" } ;
119+ var files = new HashSet < string > { "a.txt" , "b.txt" , "c.txt" } ;
110120 foreach ( var file in files )
111121 {
112- await Client . Files . UploadAsync ( file , body : GetStream ( "abc" ) ) ;
122+ await Client . Files . UploadAsync ( TestingPath + "/" + file , body : GetStream ( "abc" ) ) ;
113123 }
114124
115- var response = await Client . Files . ListFolderAsync ( "" ) ;
125+ var response = await Client . Files . ListFolderAsync ( TestingPath ) ;
116126 Assert . AreEqual ( files . Count , response . Entries . Count ) ;
117127 foreach ( var entry in response . Entries )
118128 {
119- Assert . IsTrue ( files . Contains ( entry . PathLower ) ) ;
129+ Assert . IsTrue ( files . Contains ( entry . Name ) ) ;
120130 Assert . IsTrue ( entry . IsFile ) ;
121131 var file = entry . AsFile ;
122132 Assert . AreEqual ( 3 , ( int ) file . Size ) ;
@@ -130,11 +140,11 @@ public async Task TestListFolder()
130140 [ TestMethod ]
131141 public async Task TestUpload ( )
132142 {
133- var response = await Client . Files . UploadAsync ( "/Foo.txt" , body : GetStream ( "abc" ) ) ;
143+ var response = await Client . Files . UploadAsync ( TestingPath + "/Foo.txt" , body : GetStream ( "abc" ) ) ;
134144 Assert . AreEqual ( response . Name , "Foo.txt" ) ;
135- Assert . AreEqual ( response . PathLower , "/foo.txt" ) ;
136- Assert . AreEqual ( response . PathDisplay , "/Foo.txt" ) ;
137- var downloadResponse = await Client . Files . DownloadAsync ( "/Foo.txt" ) ;
145+ Assert . AreEqual ( response . PathLower , TestingPath . ToLower ( ) + "/foo.txt" ) ;
146+ Assert . AreEqual ( response . PathDisplay , TestingPath + "/Foo.txt" ) ;
147+ var downloadResponse = await Client . Files . DownloadAsync ( TestingPath + "/Foo.txt" ) ;
138148 var content = await downloadResponse . GetContentAsStringAsync ( ) ;
139149 Assert . AreEqual ( "abc" , content ) ;
140150 }
@@ -168,8 +178,8 @@ public async Task TestUploadRetry()
168178 UserAccessToken ,
169179 new DropboxClientConfig { HttpClient = mockClient , MaxRetriesOnError = 10 } ) ;
170180
171- var response = await client . Files . UploadAsync ( "/Foo.txt" , body : GetStream ( "abc" ) ) ;
172- var downloadResponse = await Client . Files . DownloadAsync ( "/Foo.txt" ) ;
181+ var response = await client . Files . UploadAsync ( TestingPath + "/Foo.txt" , body : GetStream ( "abc" ) ) ;
182+ var downloadResponse = await Client . Files . DownloadAsync ( TestingPath + "/Foo.txt" ) ;
173183 var content = await downloadResponse . GetContentAsStringAsync ( ) ;
174184 Assert . AreEqual ( "abc" , content ) ;
175185 }
@@ -182,14 +192,14 @@ public async Task TestUploadRetry()
182192 [ TestMethod ]
183193 public async Task TestDownload ( )
184194 {
185- await Client . Files . UploadAsync ( "/Foo.txt" , body : GetStream ( "abc" ) ) ;
186- var downloadResponse = await Client . Files . DownloadAsync ( "/Foo.txt" ) ;
195+ await Client . Files . UploadAsync ( TestingPath + "/Foo.txt" , body : GetStream ( "abc" ) ) ;
196+ var downloadResponse = await Client . Files . DownloadAsync ( TestingPath + "/Foo.txt" ) ;
187197 var content = await downloadResponse . GetContentAsStringAsync ( ) ;
188198 Assert . AreEqual ( "abc" , content ) ;
189199 var response = downloadResponse . Response ;
190200 Assert . AreEqual ( response . Name , "Foo.txt" ) ;
191- Assert . AreEqual ( response . PathLower , "/foo.txt" ) ;
192- Assert . AreEqual ( response . PathDisplay , "/Foo.txt" ) ;
201+ Assert . AreEqual ( response . PathLower , TestingPath . ToLower ( ) + "/foo.txt" ) ;
202+ Assert . AreEqual ( response . PathDisplay , TestingPath + "/Foo.txt" ) ;
193203 }
194204
195205 /// Test rate limit error handling.
@@ -211,7 +221,7 @@ public async Task TestRateLimit()
211221 var client = new DropboxClient ( "dummy" , new DropboxClientConfig { HttpClient = mockClient } ) ;
212222 try
213223 {
214- await client . Files . GetMetadataAsync ( "/a.txt" ) ;
224+ await client . Files . GetMetadataAsync ( TestingPath + "/a.txt" ) ;
215225 }
216226 catch ( RateLimitException ex )
217227 {
@@ -294,19 +304,18 @@ public async Task TestTeamAuthSelectAdmin()
294304 [ TestMethod ]
295305 public async Task TestPathRoot ( )
296306 {
297- await Client . Files . UploadAsync ( "/Foo.txt" , body : GetStream ( "abc" ) ) ;
307+ await Client . Files . UploadAsync ( TestingPath + "/Foo.txt" , body : GetStream ( "abc" ) ) ;
298308
299309 var pathRootClient = Client . WithPathRoot ( PathRoot . Home . Instance ) ;
300- var metadata = await pathRootClient . Files . GetMetadataAsync ( "/Foo.txt" ) ;
301- Assert . AreEqual ( "/foo.txt" , metadata . PathLower ) ;
302-
310+ var metadata = await pathRootClient . Files . GetMetadataAsync ( TestingPath + "/Foo.txt" ) ;
311+ Assert . AreEqual ( TestingPath . ToLower ( ) + "/foo.txt" , metadata . PathLower ) ;
303312 pathRootClient = Client . WithPathRoot ( new PathRoot . Root ( "123" ) ) ;
304313
305314 var exceptionRaised = false ;
306315
307316 try
308317 {
309- await pathRootClient . Files . GetMetadataAsync ( "/Foo.txt" ) ;
318+ await pathRootClient . Files . GetMetadataAsync ( TestingPath + "/Foo.txt" ) ;
310319 }
311320 catch ( PathRootException e )
312321 {
@@ -344,7 +353,7 @@ public async Task TestNoAuth()
344353 var cursor = result . Cursor ;
345354
346355 var task = Client . Files . ListFolderLongpollAsync ( cursor ) ;
347- await Client . Files . UploadAsync ( "/foo.txt" , body : GetStream ( "abc" ) ) ;
356+ await Client . Files . UploadAsync ( TestingPath + "/foo.txt" , body : GetStream ( "abc" ) ) ;
348357 var response = await task ;
349358 Assert . IsTrue ( response . Changes ) ;
350359 }
0 commit comments