UNPKG

upload-test-manual

Version:

CLI tool untuk mengolah file CSV dan upload ke ReportPortal

56 lines (49 loc) 1.91 kB
require('dotenv').config(); const path = require('path'); module.exports = (csvFileName = '', customConfig = {}) => { // Validasi environment variables const requiredEnvVars = ['RP_ENDPOINT', 'RP_PROJECT', 'RP_TOKEN']; const missingVars = requiredEnvVars.filter(varName => !process.env[varName]); if (missingVars.length > 0) { throw new Error(`Missing required environment variables: ${missingVars.join(', ')}`); } // Generate base name dari filename const baseName = csvFileName ? path.basename(csvFileName, path.extname(csvFileName)) .replace(/[^a-zA-Z0-9]/g, ' ') .trim() .substring(0, 50) : 'Unnamed'; // Deteksi test type dari nama file const testType = csvFileName.includes('UI') ? 'UI Test' : csvFileName.includes('API') ? 'API Test' : 'Test'; // Konfigurasi nama bulan dan tahun const currentDate = new Date(); const monthNames = ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"]; const currentMonth = monthNames[currentDate.getMonth()]; const currentYear = currentDate.getFullYear(); // Konfigurasi default const defaultConfig = { endpoint: process.env.RP_ENDPOINT, project: process.env.RP_PROJECT, token: process.env.RP_TOKEN, //launchName: `${testType} - Manual - ${currentMonth} ${currentYear}`, launchName: `${testType} - Manual`, launchTags: ['csv-import'], mode: 'DEFAULT', description: `Test results imported from CSV file: ${csvFileName}`, timeout: 30000, headers: {}, attributes: { source: 'csv-importer', environment: process.env.ENV || 'staging', execution_type: 'manual' }, testItemExtra: {}, fieldMappings: {}, ...customConfig }; return { reportPortal: defaultConfig }; };