@@ -161,6 +161,75 @@ describe('test/object.test.js', () => {
161
161
} ) ;
162
162
} ) ;
163
163
164
+ describe ( 'processObjectSave()' , ( ) => {
165
+ const name = 'sourceObject.png' ;
166
+ before ( async ( ) => {
167
+ const imagepath = path . join ( __dirname , 'nodejs-1024x768.png' ) ;
168
+ await store . putStream ( name , fs . createReadStream ( imagepath ) , {
169
+ mime : 'image/png'
170
+ } ) ;
171
+ } ) ;
172
+ const target = `processObject_target${ Date . now ( ) } .jpg` ;
173
+ it ( 'should process image' , async ( ) => {
174
+ try {
175
+ const result = await store . processObjectSave ( name , target , 'image/watermark,text_aGVsbG8g5Zu+54mH5pyN5Yqh77yB,color_ff6a00,' ) ;
176
+ assert . strictEqual ( result . res . status , 200 ) ;
177
+ } catch ( error ) {
178
+ assert ( false , error ) ;
179
+ }
180
+ } ) ;
181
+ it ( 'should process image with targetBucket' , async ( ) => {
182
+ try {
183
+ const result = await store . processObjectSave ( name , target , 'image/watermark,text_aGVsbG8g5Zu+54mH5pyN5Yqh77yB,color_ff6a00,' , archvieBucket ) ;
184
+ assert . strictEqual ( result . res . status , 200 ) ;
185
+ } catch ( error ) {
186
+ assert ( false , error ) ;
187
+ }
188
+ } ) ;
189
+ it ( 'should throw error when sourceObjectName is invalid' , async ( ) => {
190
+ try {
191
+ await store . processObjectSave ( '' , target , 'image/watermark,text_aGVsbG8g5Zu+54mH5pyN5Yqh77yB,color_ff6a00,' ) ;
192
+ assert ( false ) ;
193
+ } catch ( error ) {
194
+ assert ( error . message . includes ( 'required' ) ) ;
195
+ }
196
+ try {
197
+ await store . processObjectSave ( { } , target , 'image/watermark,text_aGVsbG8g5Zu+54mH5pyN5Yqh77yB,color_ff6a00,' ) ;
198
+ assert ( false ) ;
199
+ } catch ( error ) {
200
+ assert ( error . message . includes ( 'must be String' ) ) ;
201
+ }
202
+ } ) ;
203
+ it ( 'should throw error when targetObjectName is invalid' , async ( ) => {
204
+ try {
205
+ await store . processObjectSave ( name , '' , 'image/watermark,text_aGVsbG8g5Zu+54mH5pyN5Yqh77yB,color_ff6a00,' ) ;
206
+ assert ( false ) ;
207
+ } catch ( error ) {
208
+ assert ( error . message . includes ( 'required' ) ) ;
209
+ }
210
+ try {
211
+ await store . processObjectSave ( name , { } , 'image/watermark,text_aGVsbG8g5Zu+54mH5pyN5Yqh77yB,color_ff6a00,' ) ;
212
+ assert ( false ) ;
213
+ } catch ( error ) {
214
+ assert ( error . message . includes ( 'must be String' ) ) ;
215
+ }
216
+ } ) ;
217
+ it ( 'should throw error when process is invalid' , async ( ) => {
218
+ try {
219
+ await store . processObjectSave ( name , target , '' ) ;
220
+ assert ( false ) ;
221
+ } catch ( error ) {
222
+ assert ( error . message . includes ( 'required' ) ) ;
223
+ }
224
+ try {
225
+ await store . processObjectSave ( name , target , { } ) ;
226
+ assert ( false ) ;
227
+ } catch ( error ) {
228
+ assert ( error . message . includes ( 'must be String' ) ) ;
229
+ }
230
+ } ) ;
231
+ } ) ;
232
+
164
233
describe ( 'getObjectUrl()' , ( ) => {
165
234
it ( 'should return object url' , ( ) => {
166
235
let name = 'test.js' ;
0 commit comments