/
/
الگوی Integration برای File → File یک سناریوی نمونه برای بررسی مسیر کامل دریافت فایل، ارسال فایل به Provider، پردازش و دریافت فایل خروجی است. این سناریو برای تست Contract یک Endpoint واقعی یا آزمایشگاهی استفاده میشود.
در این سناریو، یک Provider از نوع REST ایجاد میشود که یک فایل را بهعنوان ورودی دریافت کرده و همان فایل یا نسخه Transform شده آن را بهعنوان خروجی File برمیگرداند.
برای تست این سناریو میتوان Provider زیر را ایجاد کرد:
Name: EchoOrTransformFile Type: REST Method: POST Request Content Type: multipart/form-data Input: file File form-data Response: File
Endpoint تست باید فایل دریافتشده را پردازش کرده و همان فایل یا نسخه Transform شده آن را بهعنوان خروجی برگرداند.
برای مشخص کردن فایل خروجی، Header مناسب باید تنظیم شود.
Content-Disposition: attachment; filename="output.bin"
در سمت Client ابتدا فایل از کاربر دریافت شده و سپس با استفاده از absoluteMethodHelper.runProvider به Provider ارسال میشود.
global
.getFileFromUser({
accept: '*'
})
.then(file => {
return absoluteMethodHelper.runProvider(
PROVIDER_ID,
[
{
name: 'file',
value: file
}
]
);
})
.then(result => {
saveAs(
result.Content,
result.Content.name
);
});
| مرحله | شرح |
|---|---|
| File Picker | انتخاب فایل توسط کاربر |
| File Input | ارسال فایل بهعنوان ورودی Provider |
| multipart/form-data | فرمت ارسال فایل به سرویس REST |
| File Output | دریافت فایل خروجی از Provider |
| Download | ذخیره فایل خروجی برای کاربر |
این Test Case مسیر کامل File Picker → File Input → multipart/form-data → File Output → Download را بررسی میکند.
در سناریوهای واقعی File Integration، حجم فایل، محدودیتهای سرویس مقصد و مدیریت خطا باید قبل از استفاده در محیط Production بررسی شوند.