1
- using System . Net ;
1
+ using System . Linq ;
2
+ using System . Net ;
3
+ using System . Threading . Tasks ;
2
4
using CloudinaryDotNet . Actions ;
3
5
using NUnit . Framework ;
4
6
5
7
namespace CloudinaryDotNet . IntegrationTests . UploadApi
6
8
{
7
9
public class RenameMethodsTest : IntegrationTestBase
8
10
{
11
+ private static string m_context ;
12
+
13
+ public override void Initialize ( )
14
+ {
15
+ base . Initialize ( ) ;
16
+
17
+ var contextKey = $ "{ m_uniqueTestId } _context_key";
18
+ var contextValue = $ "{ m_uniqueTestId } _context_value";
19
+ m_context = $ "{ contextKey } ={ contextValue } ";
20
+ }
21
+
9
22
[ Test , RetryWithDelay ]
10
- public void TestRename ( )
23
+ public async Task TestRename ( )
11
24
{
12
25
var toPublicId = GetUniquePublicId ( ) ;
13
26
@@ -16,29 +29,29 @@ public void TestRename()
16
29
File = new FileDescription ( m_testImagePath ) ,
17
30
Tags = m_apiTag
18
31
} ;
19
- var uploadResult1 = m_cloudinary . Upload ( uploadParams ) ;
32
+ var uploadResult1 = await m_cloudinary . UploadAsync ( uploadParams ) ;
20
33
21
34
uploadParams . File = new FileDescription ( m_testIconPath ) ;
22
- var uploadResult2 = m_cloudinary . Upload ( uploadParams ) ;
35
+ var uploadResult2 = await m_cloudinary . UploadAsync ( uploadParams ) ;
23
36
24
- var renameResult = m_cloudinary . Rename ( uploadResult1 . PublicId , toPublicId ) ;
37
+ var renameResult = await m_cloudinary . RenameAsync ( uploadResult1 . PublicId , toPublicId ) ;
25
38
Assert . AreEqual ( HttpStatusCode . OK , renameResult . StatusCode , renameResult . Error ? . Message ) ;
26
39
27
- var getResult = m_cloudinary . GetResource ( toPublicId ) ;
40
+ var getResult = await m_cloudinary . GetResourceAsync ( toPublicId ) ;
28
41
Assert . NotNull ( getResult ) ;
29
42
30
- renameResult = m_cloudinary . Rename ( uploadResult2 . PublicId , toPublicId ) ;
43
+ renameResult = await m_cloudinary . RenameAsync ( uploadResult2 . PublicId , toPublicId ) ;
31
44
Assert . True ( renameResult . StatusCode == HttpStatusCode . BadRequest , renameResult . Error ? . Message ) ;
32
45
33
- m_cloudinary . Rename ( uploadResult2 . PublicId , toPublicId , true ) ;
46
+ await m_cloudinary . RenameAsync ( uploadResult2 . PublicId , toPublicId , true ) ;
34
47
35
- getResult = m_cloudinary . GetResource ( toPublicId ) ;
48
+ getResult = await m_cloudinary . GetResourceAsync ( toPublicId ) ;
36
49
Assert . NotNull ( getResult ) ;
37
50
Assert . AreEqual ( FILE_FORMAT_ICO , getResult . Format , getResult . Error ? . Message ) ;
38
51
}
39
52
40
53
[ Test , RetryWithDelay ]
41
- public void TestRenameToType ( )
54
+ public async Task TestRenameToType ( )
42
55
{
43
56
string publicId = GetUniquePublicId ( ) ;
44
57
string newPublicId = GetUniquePublicId ( ) ;
@@ -51,18 +64,78 @@ public void TestRenameToType()
51
64
Type = STORAGE_TYPE_UPLOAD
52
65
} ;
53
66
54
- var uploadResult = m_cloudinary . Upload ( uploadParams ) ;
67
+ var uploadResult = await m_cloudinary . UploadAsync ( uploadParams ) ;
55
68
Assert . AreEqual ( uploadResult . StatusCode , HttpStatusCode . OK , uploadResult . Error ? . Message ) ;
56
69
57
70
RenameParams renameParams = new RenameParams ( publicId , newPublicId )
58
71
{
59
72
ToType = STORAGE_TYPE_UPLOAD
60
73
} ;
61
74
62
- var renameResult = m_cloudinary . Rename ( renameParams ) ;
75
+ var renameResult = await m_cloudinary . RenameAsync ( renameParams ) ;
63
76
Assert . AreEqual ( renameResult . StatusCode , HttpStatusCode . OK , renameResult . Error ? . Message ) ;
64
77
Assert . AreEqual ( renameResult . Type , STORAGE_TYPE_UPLOAD ) ;
65
78
Assert . AreEqual ( renameResult . PublicId , newPublicId ) ;
66
79
}
80
+
81
+ [ Test ]
82
+ public async Task TestRenameReturnsContext ( )
83
+ {
84
+ string publicId = GetUniquePublicId ( ) ;
85
+ string newPublicId = GetUniquePublicId ( ) ;
86
+
87
+ await UploadImage ( publicId ) ;
88
+
89
+ var @params = new RenameParams ( publicId , newPublicId )
90
+ {
91
+ Context = true
92
+ } ;
93
+ var renameResult = await m_cloudinary . RenameAsync ( @params ) ;
94
+ Assert . IsTrue ( renameResult . Context . HasValues ) ;
95
+
96
+ @params . Context = false ;
97
+ renameResult = await m_cloudinary . RenameAsync ( @params ) ;
98
+ Assert . IsNull ( renameResult . Context ) ;
99
+ }
100
+
101
+ [ Test ]
102
+ public async Task TestRenameReturnsMetadata ( )
103
+ {
104
+ string publicId = GetUniquePublicId ( ) ;
105
+ string newPublicId = GetUniquePublicId ( ) ;
106
+
107
+ await UploadImage ( publicId , true ) ;
108
+
109
+ var @params = new RenameParams ( publicId , newPublicId )
110
+ {
111
+ Metadata = true
112
+ } ;
113
+ var renameResult = await m_cloudinary . RenameAsync ( @params ) ;
114
+ Assert . IsTrue ( renameResult . MetadataFields . HasValues ) ;
115
+
116
+ @params . Metadata = false ;
117
+ renameResult = await m_cloudinary . RenameAsync ( @params ) ;
118
+ Assert . IsNull ( renameResult . MetadataFields ) ;
119
+ }
120
+
121
+ private async Task UploadImage ( string publicId , bool withMetadata = false )
122
+ {
123
+ if ( withMetadata )
124
+ {
125
+ CreateMetadataField ( "rename_with_metadata" , p => p . DefaultValue = p . Label ) ;
126
+ }
127
+
128
+ var uploadParams = new ImageUploadParams ( )
129
+ {
130
+ PublicId = publicId ,
131
+ File = new FileDescription ( m_testImagePath ) ,
132
+ Tags = m_apiTag ,
133
+ Type = STORAGE_TYPE_UPLOAD ,
134
+ Context = new StringDictionary ( m_context ) ,
135
+ } ;
136
+
137
+ var uploadResult = await m_cloudinary . UploadAsync ( uploadParams ) ;
138
+ Assert . AreEqual ( uploadResult . StatusCode , HttpStatusCode . OK , uploadResult . Error ? . Message ) ;
139
+ }
67
140
}
68
141
}
0 commit comments