@ductape/sdk 0.0.4-v59 → 0.0.4-v60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/agents.service.d.ts +8 -2
- package/dist/agents/agents.service.js +5 -0
- package/dist/agents/agents.service.js.map +1 -1
- package/dist/agents/types/agents.types.d.ts +2 -0
- package/dist/agents/types/agents.types.js.map +1 -1
- package/dist/agents/vector-store-adapter.js +5 -5
- package/dist/agents/vector-store-adapter.js.map +1 -1
- package/dist/api/services/appApi.service.d.ts +3 -3
- package/dist/api/services/appApi.service.js.map +1 -1
- package/dist/api/services/productsApi.service.d.ts +1 -1
- package/dist/api/services/productsApi.service.js +20 -13
- package/dist/api/services/productsApi.service.js.map +1 -1
- package/dist/api/services/secretsApi.service.d.ts +12 -0
- package/dist/api/services/secretsApi.service.js +30 -2
- package/dist/api/services/secretsApi.service.js.map +1 -1
- package/dist/api/services/workspaceApi.service.d.ts +8 -0
- package/dist/api/services/workspaceApi.service.js +20 -0
- package/dist/api/services/workspaceApi.service.js.map +1 -1
- package/dist/api/urls.d.ts +2 -0
- package/dist/api/urls.js +10 -15
- package/dist/api/urls.js.map +1 -1
- package/dist/api/utils/auth.utils.d.ts +1 -3
- package/dist/api/utils/auth.utils.js.map +1 -1
- package/dist/apps/utils/oauth-manager.js +27 -3
- package/dist/apps/utils/oauth-manager.js.map +1 -1
- package/dist/brokers/brokers.service.d.ts +8 -0
- package/dist/brokers/brokers.service.js +50 -4
- package/dist/brokers/brokers.service.js.map +1 -1
- package/dist/brokers/types/index.d.ts +26 -0
- package/dist/brokers/utils/providers/kafka.service.d.ts +7 -0
- package/dist/brokers/utils/providers/kafka.service.js +102 -23
- package/dist/brokers/utils/providers/kafka.service.js.map +1 -1
- package/dist/brokers/utils/providers/rabbitmq.service.d.ts +2 -1
- package/dist/brokers/utils/providers/rabbitmq.service.js +99 -15
- package/dist/brokers/utils/providers/rabbitmq.service.js.map +1 -1
- package/dist/database/adapters/cassandra.adapter.d.ts +1 -0
- package/dist/database/adapters/cassandra.adapter.js +100 -44
- package/dist/database/adapters/cassandra.adapter.js.map +1 -1
- package/dist/database/adapters/dynamodb.adapter.d.ts +1 -0
- package/dist/database/adapters/dynamodb.adapter.js +89 -20
- package/dist/database/adapters/dynamodb.adapter.js.map +1 -1
- package/dist/database/adapters/mongodb.adapter.d.ts +1 -0
- package/dist/database/adapters/mongodb.adapter.js +123 -45
- package/dist/database/adapters/mongodb.adapter.js.map +1 -1
- package/dist/database/adapters/mysql.adapter.d.ts +1 -0
- package/dist/database/adapters/mysql.adapter.js +125 -48
- package/dist/database/adapters/mysql.adapter.js.map +1 -1
- package/dist/database/adapters/postgresql.adapter.d.ts +5 -0
- package/dist/database/adapters/postgresql.adapter.js +151 -50
- package/dist/database/adapters/postgresql.adapter.js.map +1 -1
- package/dist/database/databases.service.d.ts +15 -1
- package/dist/database/databases.service.js +143 -2
- package/dist/database/databases.service.js.map +1 -1
- package/dist/database/operators/aggregation-builder.d.ts +11 -8
- package/dist/database/operators/aggregation-builder.js +184 -89
- package/dist/database/operators/aggregation-builder.js.map +1 -1
- package/dist/database/operators/query-builder.d.ts +23 -19
- package/dist/database/operators/query-builder.js +77 -45
- package/dist/database/operators/query-builder.js.map +1 -1
- package/dist/database/types/aggregation.interface.d.ts +21 -15
- package/dist/database/types/query.interface.d.ts +27 -21
- package/dist/database/types/write.interface.d.ts +20 -12
- package/dist/graph/adapters/arangodb.adapter.js +61 -22
- package/dist/graph/adapters/arangodb.adapter.js.map +1 -1
- package/dist/graph/adapters/memgraph.adapter.js +22 -16
- package/dist/graph/adapters/memgraph.adapter.js.map +1 -1
- package/dist/graph/adapters/neo4j.adapter.js +51 -21
- package/dist/graph/adapters/neo4j.adapter.js.map +1 -1
- package/dist/graph/adapters/neptune.adapter.js +32 -16
- package/dist/graph/adapters/neptune.adapter.js.map +1 -1
- package/dist/graph/graphs.service.d.ts +24 -2
- package/dist/graph/graphs.service.js +238 -28
- package/dist/graph/graphs.service.js.map +1 -1
- package/dist/graph/types/connection.interface.d.ts +8 -0
- package/dist/graph/types/query.interface.d.ts +21 -14
- package/dist/index.d.ts +367 -20
- package/dist/index.js +510 -48
- package/dist/index.js.map +1 -1
- package/dist/inputs/inputs.service.d.ts +1 -1
- package/dist/notifications/notifications.service.d.ts +7 -2
- package/dist/notifications/notifications.service.js +2 -0
- package/dist/notifications/notifications.service.js.map +1 -1
- package/dist/processor/services/processor.service.d.ts +5 -1
- package/dist/processor/services/processor.service.js +35 -2
- package/dist/processor/services/processor.service.js.map +1 -1
- package/dist/products/services/products.service.d.ts +76 -2
- package/dist/products/services/products.service.js +984 -27
- package/dist/products/services/products.service.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productAgent.validator.js +52 -4
- package/dist/products/validators/joi-validators/create.productAgent.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productGraph.validator.js +2 -0
- package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +1 -7
- package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productVector.validator.js +4 -4
- package/dist/products/validators/joi-validators/create.productVector.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.productGraph.validator.js +2 -0
- package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +1 -1
- package/dist/resilience/fallback.service.d.ts +4 -1
- package/dist/resilience/fallback.service.js +8 -10
- package/dist/resilience/fallback.service.js.map +1 -1
- package/dist/resilience/healthcheck.service.d.ts +6 -1
- package/dist/resilience/healthcheck.service.js +9 -0
- package/dist/resilience/healthcheck.service.js.map +1 -1
- package/dist/resilience/quota.service.d.ts +4 -1
- package/dist/resilience/quota.service.js +2 -0
- package/dist/resilience/quota.service.js.map +1 -1
- package/dist/resilience/resilience.service.d.ts +4 -1
- package/dist/resilience/resilience.service.js.map +1 -1
- package/dist/secrets/secrets.service.d.ts +11 -1
- package/dist/secrets/secrets.service.js +109 -10
- package/dist/secrets/secrets.service.js.map +1 -1
- package/dist/storage/storage.service.d.ts +4 -1
- package/dist/storage/storage.service.js +6 -1
- package/dist/storage/storage.service.js.map +1 -1
- package/dist/test/index.js +1 -3
- package/dist/test/index.js.map +1 -1
- package/dist/test/test.broker.kafka.d.ts +1 -0
- package/dist/test/test.broker.kafka.js +172 -0
- package/dist/test/test.broker.kafka.js.map +1 -0
- package/dist/test/test.broker.nats.d.ts +1 -0
- package/dist/test/test.broker.nats.js +193 -0
- package/dist/test/test.broker.nats.js.map +1 -0
- package/dist/test/test.broker.pubsub.d.ts +1 -0
- package/dist/test/test.broker.pubsub.js +171 -0
- package/dist/test/test.broker.pubsub.js.map +1 -0
- package/dist/test/test.broker.rabbitmq.d.ts +1 -0
- package/dist/test/test.broker.rabbitmq.js +164 -0
- package/dist/test/test.broker.rabbitmq.js.map +1 -0
- package/dist/test/test.broker.redis.d.ts +1 -0
- package/dist/test/test.broker.redis.js +168 -0
- package/dist/test/test.broker.redis.js.map +1 -0
- package/dist/test/test.broker.sqs.d.ts +1 -0
- package/dist/test/test.broker.sqs.js +158 -0
- package/dist/test/test.broker.sqs.js.map +1 -0
- package/dist/test/test.caches.d.ts +1 -0
- package/dist/test/test.caches.js +231 -0
- package/dist/test/test.caches.js.map +1 -0
- package/dist/test/test.database.dynamo.d.ts +1 -0
- package/dist/test/test.database.dynamo.js +265 -0
- package/dist/test/test.database.dynamo.js.map +1 -0
- package/dist/test/test.database.js +2 -2
- package/dist/test/test.database.js.map +1 -1
- package/dist/test/test.database.mongo.d.ts +1 -0
- package/dist/test/test.database.mongo.js +371 -0
- package/dist/test/test.database.mongo.js.map +1 -0
- package/dist/test/test.database.mysql.d.ts +1 -0
- package/dist/test/test.database.mysql.js +415 -0
- package/dist/test/test.database.mysql.js.map +1 -0
- package/dist/test/test.database.postgres.d.ts +1 -0
- package/dist/test/test.database.postgres.js +412 -0
- package/dist/test/test.database.postgres.js.map +1 -0
- package/dist/test/test.email.brevo.d.ts +1 -0
- package/dist/test/test.email.brevo.js +326 -0
- package/dist/test/test.email.brevo.js.map +1 -0
- package/dist/test/test.email.mailgun.d.ts +1 -0
- package/dist/test/test.email.mailgun.js +352 -0
- package/dist/test/test.email.mailgun.js.map +1 -0
- package/dist/test/test.email.postmark.d.ts +1 -0
- package/dist/test/test.email.postmark.js +316 -0
- package/dist/test/test.email.postmark.js.map +1 -0
- package/dist/test/test.email.sendgrid.d.ts +1 -0
- package/dist/test/test.email.sendgrid.js +365 -0
- package/dist/test/test.email.sendgrid.js.map +1 -0
- package/dist/test/test.email.smtp.d.ts +1 -0
- package/dist/test/test.email.smtp.js +323 -0
- package/dist/test/test.email.smtp.js.map +1 -0
- package/dist/test/test.graph.arangodb.d.ts +1 -0
- package/dist/test/test.graph.arangodb.js +358 -0
- package/dist/test/test.graph.arangodb.js.map +1 -0
- package/dist/test/test.graph.memgraph.d.ts +1 -0
- package/dist/test/test.graph.memgraph.js +320 -0
- package/dist/test/test.graph.memgraph.js.map +1 -0
- package/dist/test/test.graph.neo4j.d.ts +1 -0
- package/dist/test/test.graph.neo4j.js +218 -0
- package/dist/test/test.graph.neo4j.js.map +1 -0
- package/dist/test/test.graph.neptune.d.ts +1 -0
- package/dist/test/test.graph.neptune.js +331 -0
- package/dist/test/test.graph.neptune.js.map +1 -0
- package/dist/test/test.notifications.d.ts +1 -0
- package/dist/test/test.notifications.js +198 -0
- package/dist/test/test.notifications.js.map +1 -0
- package/dist/test/test.push.expo.d.ts +1 -0
- package/dist/test/test.push.expo.js +442 -0
- package/dist/test/test.push.expo.js.map +1 -0
- package/dist/test/test.push.firebase.d.ts +1 -0
- package/dist/test/test.push.firebase.js +409 -0
- package/dist/test/test.push.firebase.js.map +1 -0
- package/dist/test/test.session.d.ts +1 -0
- package/dist/test/test.session.js +299 -0
- package/dist/test/test.session.js.map +1 -0
- package/dist/test/test.sms.nexmo.d.ts +1 -0
- package/dist/test/test.sms.nexmo.js +278 -0
- package/dist/test/test.sms.nexmo.js.map +1 -0
- package/dist/test/test.sms.twilio.d.ts +1 -0
- package/dist/test/test.sms.twilio.js +275 -0
- package/dist/test/test.sms.twilio.js.map +1 -0
- package/dist/test/test.storage.js +169 -299
- package/dist/test/test.storage.js.map +1 -1
- package/dist/test/test.vector.pinecone.d.ts +1 -0
- package/dist/test/test.vector.pinecone.js +238 -0
- package/dist/test/test.vector.pinecone.js.map +1 -0
- package/dist/test/test.vector.qdrant.d.ts +1 -0
- package/dist/test/test.vector.qdrant.js +307 -0
- package/dist/test/test.vector.qdrant.js.map +1 -0
- package/dist/test/test.vector.weaviate.d.ts +1 -0
- package/dist/test/test.vector.weaviate.js +325 -0
- package/dist/test/test.vector.weaviate.js.map +1 -0
- package/dist/types/appBuilder.types.d.ts +6 -2
- package/dist/types/enums.d.ts +2 -0
- package/dist/types/enums.js +2 -0
- package/dist/types/enums.js.map +1 -1
- package/dist/types/index.types.d.ts +2 -4
- package/dist/types/index.types.js +0 -1
- package/dist/types/index.types.js.map +1 -1
- package/dist/types/processor.types.d.ts +18 -0
- package/dist/types/productsBuilder.types.d.ts +19 -15
- package/dist/types/productsBuilder.types.js.map +1 -1
- package/dist/types/requests.types.d.ts +2 -0
- package/dist/utils/index.js +23 -4
- package/dist/utils/index.js.map +1 -1
- package/dist/vector/adapters/base.adapter.d.ts +1 -1
- package/dist/vector/adapters/memory.adapter.d.ts +1 -1
- package/dist/vector/adapters/memory.adapter.js +1 -1
- package/dist/vector/adapters/memory.adapter.js.map +1 -1
- package/dist/vector/adapters/pinecone.adapter.d.ts +1 -1
- package/dist/vector/adapters/pinecone.adapter.js +1 -1
- package/dist/vector/adapters/pinecone.adapter.js.map +1 -1
- package/dist/vector/adapters/qdrant.adapter.d.ts +1 -1
- package/dist/vector/adapters/qdrant.adapter.js +1 -1
- package/dist/vector/adapters/qdrant.adapter.js.map +1 -1
- package/dist/vector/adapters/weaviate.adapter.d.ts +1 -1
- package/dist/vector/adapters/weaviate.adapter.js +1 -1
- package/dist/vector/adapters/weaviate.adapter.js.map +1 -1
- package/dist/vector/index.d.ts +2 -2
- package/dist/vector/index.js +2 -2
- package/dist/vector/utils/vector-error.js +0 -1
- package/dist/vector/utils/vector-error.js.map +1 -1
- package/dist/vector/vector-database.service.d.ts +9 -6
- package/dist/vector/vector-database.service.js +7 -6
- package/dist/vector/vector-database.service.js.map +1 -1
- package/dist/vector/vector.service.d.ts +3 -3
- package/dist/vector/vector.service.js +12 -9
- package/dist/vector/vector.service.js.map +1 -1
- package/dist/workflows/workflow-executor.d.ts +4 -1
- package/dist/workflows/workflow-executor.js +10 -2
- package/dist/workflows/workflow-executor.js.map +1 -1
- package/dist/workflows/workflows.service.d.ts +8 -2
- package/dist/workflows/workflows.service.js +66 -41
- package/dist/workflows/workflows.service.js.map +1 -1
- package/package.json +29 -4
|
@@ -4,329 +4,199 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const index_1 = __importDefault(require("./index"));
|
|
7
|
-
/**
|
|
8
|
-
* Storage Tests
|
|
9
|
-
*
|
|
10
|
-
* Tests for the cloud storage system using the Ductape storage API:
|
|
11
|
-
* - Uploading files to cloud storage
|
|
12
|
-
* - Downloading files from cloud storage
|
|
13
|
-
* - Listing files with pagination
|
|
14
|
-
* - Generating signed URLs
|
|
15
|
-
* - Deleting files
|
|
16
|
-
* - Storage CRUD operations (create, list, fetch, update, delete)
|
|
17
|
-
*/
|
|
18
7
|
const { storage } = index_1.default;
|
|
19
|
-
//
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
env: 'prd',
|
|
23
|
-
storage: 'rematch-storage', // Your storage tag
|
|
24
|
-
};
|
|
8
|
+
// Start timing
|
|
9
|
+
const startTime = performance.now();
|
|
10
|
+
console.log(`[${new Date().toISOString()}] Starting storage operations...`);
|
|
25
11
|
async function runStorageTests() {
|
|
26
|
-
var _a
|
|
27
|
-
console.log('========== STORAGE TESTS ==========\n');
|
|
28
|
-
// Generate unique test file names
|
|
29
|
-
const timestamp = Date.now();
|
|
30
|
-
const testFileName = `test-file-${timestamp}.txt`;
|
|
31
|
-
const testImageName = `test-image-${timestamp}.png`;
|
|
32
|
-
const testJsonName = `test-data-${timestamp}.json`;
|
|
33
|
-
// Test 1: Upload a text file
|
|
34
|
-
console.log('Test 1: Uploading a text file...');
|
|
12
|
+
var _a;
|
|
35
13
|
try {
|
|
36
|
-
|
|
37
|
-
const
|
|
14
|
+
// Create a sample file buffer for testing
|
|
15
|
+
const sampleContent = 'Hello, Ductape Storage! This is a test file content.\n' +
|
|
16
|
+
'Line 2: Testing storage operations.\n' +
|
|
17
|
+
'Line 3: Created at ' + new Date().toISOString();
|
|
18
|
+
const sampleBuffer = Buffer.from(sampleContent, 'utf-8');
|
|
19
|
+
// Test connection
|
|
20
|
+
console.log('\n--- Testing Connection ---');
|
|
21
|
+
const testConnStart = performance.now();
|
|
22
|
+
const connectionResult = await storage.testConnection({
|
|
23
|
+
product: 'ductape:rematch',
|
|
24
|
+
env: 'prd',
|
|
25
|
+
storage: 'main-storage',
|
|
26
|
+
});
|
|
27
|
+
console.log(`[TIMING] Test connection: ${(performance.now() - testConnStart).toFixed(2)}ms`);
|
|
28
|
+
console.log('Connection test:', JSON.stringify(connectionResult, null, 2));
|
|
29
|
+
// Test file upload
|
|
30
|
+
console.log('\n--- Uploading File ---');
|
|
31
|
+
const uploadStart = performance.now();
|
|
38
32
|
const uploadResult = await storage.upload({
|
|
39
|
-
product:
|
|
40
|
-
env:
|
|
41
|
-
storage:
|
|
42
|
-
fileName:
|
|
43
|
-
buffer:
|
|
33
|
+
product: 'ductape:rematch',
|
|
34
|
+
env: 'prd',
|
|
35
|
+
storage: 'main-storage',
|
|
36
|
+
fileName: 'test-files/hello-world.txt',
|
|
37
|
+
buffer: sampleBuffer,
|
|
44
38
|
mimeType: 'text/plain',
|
|
45
39
|
});
|
|
46
|
-
console.log(
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
try {
|
|
58
|
-
const jsonData = {
|
|
59
|
-
id: timestamp,
|
|
60
|
-
name: 'Test Data',
|
|
61
|
-
timestamp: new Date().toISOString(),
|
|
62
|
-
metadata: {
|
|
63
|
-
source: 'test.storage.ts',
|
|
64
|
-
environment: TEST_CONFIG.env,
|
|
40
|
+
console.log(`[TIMING] Upload file: ${(performance.now() - uploadStart).toFixed(2)}ms`);
|
|
41
|
+
console.log('Upload result:', JSON.stringify(uploadResult, null, 2));
|
|
42
|
+
// Upload JSON file
|
|
43
|
+
console.log('\n--- Uploading JSON File ---');
|
|
44
|
+
const jsonUploadStart = performance.now();
|
|
45
|
+
const jsonContent = JSON.stringify({
|
|
46
|
+
name: 'Test Document',
|
|
47
|
+
created: new Date().toISOString(),
|
|
48
|
+
data: {
|
|
49
|
+
items: ['item1', 'item2', 'item3'],
|
|
50
|
+
count: 3,
|
|
65
51
|
},
|
|
66
|
-
};
|
|
67
|
-
const jsonBuffer = Buffer.from(
|
|
68
|
-
const
|
|
69
|
-
product:
|
|
70
|
-
env:
|
|
71
|
-
storage:
|
|
72
|
-
fileName:
|
|
52
|
+
}, null, 2);
|
|
53
|
+
const jsonBuffer = Buffer.from(jsonContent, 'utf-8');
|
|
54
|
+
const jsonUploadResult = await storage.upload({
|
|
55
|
+
product: 'ductape:rematch',
|
|
56
|
+
env: 'prd',
|
|
57
|
+
storage: 'main-storage',
|
|
58
|
+
fileName: 'test-files/data.json',
|
|
73
59
|
buffer: jsonBuffer,
|
|
74
60
|
mimeType: 'application/json',
|
|
75
61
|
});
|
|
76
|
-
console.log(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
console.log('\nTest 3: Uploading a binary file (simulated image)...');
|
|
86
|
-
try {
|
|
87
|
-
// Create a simple 1x1 red PNG
|
|
88
|
-
const pngHeader = Buffer.from([
|
|
89
|
-
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, // PNG signature
|
|
90
|
-
]);
|
|
91
|
-
const pngBuffer = Buffer.concat([pngHeader, Buffer.alloc(100)]); // Simplified
|
|
92
|
-
const uploadResult = await storage.upload({
|
|
93
|
-
product: TEST_CONFIG.product,
|
|
94
|
-
env: TEST_CONFIG.env,
|
|
95
|
-
storage: TEST_CONFIG.storage,
|
|
96
|
-
fileName: `images/${testImageName}`,
|
|
97
|
-
buffer: pngBuffer,
|
|
98
|
-
mimeType: 'image/png',
|
|
99
|
-
});
|
|
100
|
-
console.log(' Upload result:', {
|
|
101
|
-
success: uploadResult.success,
|
|
102
|
-
fileName: uploadResult.fileName,
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
catch (error) {
|
|
106
|
-
console.log(' Upload failed:', error.message);
|
|
107
|
-
}
|
|
108
|
-
// Test 4: List files in the storage
|
|
109
|
-
console.log('\nTest 4: Listing files in storage...');
|
|
110
|
-
try {
|
|
111
|
-
const listResult = await storage.files({
|
|
112
|
-
product: TEST_CONFIG.product,
|
|
113
|
-
env: TEST_CONFIG.env,
|
|
114
|
-
storage: TEST_CONFIG.storage,
|
|
115
|
-
limit: 20,
|
|
116
|
-
});
|
|
117
|
-
console.log(` Found ${listResult.files.length} files:`);
|
|
118
|
-
for (const file of listResult.files.slice(0, 5)) {
|
|
119
|
-
console.log(` - ${file.name} (${file.size} bytes)`);
|
|
62
|
+
console.log(`[TIMING] Upload JSON: ${(performance.now() - jsonUploadStart).toFixed(2)}ms`);
|
|
63
|
+
console.log('JSON upload result:', JSON.stringify(jsonUploadResult, null, 2));
|
|
64
|
+
// Upload binary file (simulated image)
|
|
65
|
+
console.log('\n--- Uploading Binary File ---');
|
|
66
|
+
const binaryUploadStart = performance.now();
|
|
67
|
+
// Create a simple binary buffer (simulating image data)
|
|
68
|
+
const binaryBuffer = Buffer.alloc(1024);
|
|
69
|
+
for (let i = 0; i < 1024; i++) {
|
|
70
|
+
binaryBuffer[i] = i % 256;
|
|
120
71
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
console.log(
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
const listResult = await storage.files({
|
|
135
|
-
product: TEST_CONFIG.product,
|
|
136
|
-
env: TEST_CONFIG.env,
|
|
137
|
-
storage: TEST_CONFIG.storage,
|
|
138
|
-
prefix: 'uploads/',
|
|
139
|
-
limit: 10,
|
|
140
|
-
});
|
|
141
|
-
console.log(` Found ${listResult.files.length} files in "uploads/" folder`);
|
|
142
|
-
}
|
|
143
|
-
catch (error) {
|
|
144
|
-
console.log(' List with prefix failed:', error.message);
|
|
145
|
-
}
|
|
146
|
-
// Test 6: Download a file
|
|
147
|
-
console.log('\nTest 6: Downloading a file...');
|
|
148
|
-
try {
|
|
72
|
+
const binaryUploadResult = await storage.upload({
|
|
73
|
+
product: 'ductape:rematch',
|
|
74
|
+
env: 'prd',
|
|
75
|
+
storage: 'main-storage',
|
|
76
|
+
fileName: 'test-files/sample.bin',
|
|
77
|
+
buffer: binaryBuffer,
|
|
78
|
+
mimeType: 'application/octet-stream',
|
|
79
|
+
});
|
|
80
|
+
console.log(`[TIMING] Upload binary: ${(performance.now() - binaryUploadStart).toFixed(2)}ms`);
|
|
81
|
+
console.log('Binary upload result:', JSON.stringify(binaryUploadResult, null, 2));
|
|
82
|
+
// Test file download
|
|
83
|
+
console.log('\n--- Downloading File ---');
|
|
84
|
+
const downloadStart = performance.now();
|
|
149
85
|
const downloadResult = await storage.download({
|
|
150
|
-
product:
|
|
151
|
-
env:
|
|
152
|
-
storage:
|
|
153
|
-
fileName:
|
|
86
|
+
product: 'ductape:rematch',
|
|
87
|
+
env: 'prd',
|
|
88
|
+
storage: 'main-storage',
|
|
89
|
+
fileName: 'test-files/hello-world.txt',
|
|
154
90
|
});
|
|
155
|
-
console.log(
|
|
156
|
-
|
|
91
|
+
console.log(`[TIMING] Download file: ${(performance.now() - downloadStart).toFixed(2)}ms`);
|
|
92
|
+
console.log('Download result:', {
|
|
157
93
|
size: downloadResult.size,
|
|
158
94
|
mimeType: downloadResult.mimeType,
|
|
159
|
-
contentPreview: (_a = downloadResult.data) === null || _a === void 0 ? void 0 : _a.toString('utf-8').substring(0,
|
|
95
|
+
contentPreview: (_a = downloadResult.data) === null || _a === void 0 ? void 0 : _a.toString('utf-8').substring(0, 100),
|
|
96
|
+
});
|
|
97
|
+
// Test download with cache
|
|
98
|
+
console.log('\n--- Downloading File with Cache ---');
|
|
99
|
+
const cachedDownloadStart = performance.now();
|
|
100
|
+
const cachedDownloadResult = await storage.download({
|
|
101
|
+
product: 'ductape:rematch',
|
|
102
|
+
env: 'prd',
|
|
103
|
+
storage: 'main-storage',
|
|
104
|
+
fileName: 'test-files/data.json',
|
|
105
|
+
cache: 'storage-cache',
|
|
106
|
+
});
|
|
107
|
+
console.log(`[TIMING] Cached download: ${(performance.now() - cachedDownloadStart).toFixed(2)}ms`);
|
|
108
|
+
console.log('Cached download result:', {
|
|
109
|
+
size: cachedDownloadResult.size,
|
|
110
|
+
mimeType: cachedDownloadResult.mimeType,
|
|
111
|
+
});
|
|
112
|
+
// Test listing files
|
|
113
|
+
console.log('\n--- Listing Files ---');
|
|
114
|
+
const listStart = performance.now();
|
|
115
|
+
const listResult = await storage.list({
|
|
116
|
+
product: 'ductape:rematch',
|
|
117
|
+
env: 'prd',
|
|
118
|
+
storage: 'main-storage',
|
|
119
|
+
prefix: 'test-files/',
|
|
120
|
+
limit: 10,
|
|
160
121
|
});
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
storage: TEST_CONFIG.storage,
|
|
172
|
-
fileName: `uploads/${testFileName}`,
|
|
122
|
+
console.log(`[TIMING] List files: ${(performance.now() - listStart).toFixed(2)}ms`);
|
|
123
|
+
console.log('Listed files:', JSON.stringify(listResult, null, 2));
|
|
124
|
+
// Test getting signed URL for download
|
|
125
|
+
console.log('\n--- Getting Signed URL (Download) ---');
|
|
126
|
+
const signedDownloadStart = performance.now();
|
|
127
|
+
const signedDownloadUrl = await storage.getSignedUrl({
|
|
128
|
+
product: 'ductape:rematch',
|
|
129
|
+
env: 'prd',
|
|
130
|
+
storage: 'main-storage',
|
|
131
|
+
fileName: 'test-files/hello-world.txt',
|
|
173
132
|
expiresIn: 3600, // 1 hour
|
|
174
133
|
action: 'read',
|
|
175
134
|
});
|
|
176
|
-
console.log(
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
const signedUrlResult = await storage.getSignedUrl({
|
|
188
|
-
product: TEST_CONFIG.product,
|
|
189
|
-
env: TEST_CONFIG.env,
|
|
190
|
-
storage: TEST_CONFIG.storage,
|
|
191
|
-
fileName: `uploads/presigned-upload-${timestamp}.txt`,
|
|
192
|
-
expiresIn: 600, // 10 minutes
|
|
135
|
+
console.log(`[TIMING] Signed URL (download): ${(performance.now() - signedDownloadStart).toFixed(2)}ms`);
|
|
136
|
+
console.log('Signed download URL:', JSON.stringify(signedDownloadUrl, null, 2));
|
|
137
|
+
// Test getting signed URL for upload
|
|
138
|
+
console.log('\n--- Getting Signed URL (Upload) ---');
|
|
139
|
+
const signedUploadStart = performance.now();
|
|
140
|
+
const signedUploadUrl = await storage.getSignedUrl({
|
|
141
|
+
product: 'ductape:rematch',
|
|
142
|
+
env: 'prd',
|
|
143
|
+
storage: 'main-storage',
|
|
144
|
+
fileName: 'test-files/new-upload.txt',
|
|
145
|
+
expiresIn: 900, // 15 minutes
|
|
193
146
|
action: 'write',
|
|
194
147
|
});
|
|
195
|
-
console.log(
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
catch (error) {
|
|
201
|
-
console.log(' Pre-signed URL generation failed:', error.message);
|
|
202
|
-
}
|
|
203
|
-
// Test 9: Delete a file
|
|
204
|
-
console.log('\nTest 9: Deleting a file...');
|
|
205
|
-
try {
|
|
206
|
-
const deleteResult = await storage.remove({
|
|
207
|
-
product: TEST_CONFIG.product,
|
|
208
|
-
env: TEST_CONFIG.env,
|
|
209
|
-
storage: TEST_CONFIG.storage,
|
|
210
|
-
fileName: `uploads/${testFileName}`,
|
|
211
|
-
});
|
|
212
|
-
console.log(' Delete result:', {
|
|
213
|
-
success: deleteResult.success,
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
catch (error) {
|
|
217
|
-
console.log(' Delete failed:', error.message);
|
|
218
|
-
}
|
|
219
|
-
// Test 10: Storage management - List storages
|
|
220
|
-
console.log('\nTest 10: Listing all storages for product...');
|
|
221
|
-
try {
|
|
222
|
-
const storages = await storage.list(TEST_CONFIG.product);
|
|
223
|
-
console.log(` Found ${storages.length} storages:`);
|
|
224
|
-
for (const s of storages) {
|
|
225
|
-
// Type is in envs[].type, not directly on storage
|
|
226
|
-
const envTypes = ((_b = s.envs) === null || _b === void 0 ? void 0 : _b.map(e => e.type).join(', ')) || 'N/A';
|
|
227
|
-
console.log(` - ${s.tag}: ${s.name} (envs: ${envTypes})`);
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
catch (error) {
|
|
231
|
-
console.log(' List storages failed:', error.message);
|
|
232
|
-
}
|
|
233
|
-
// Test 11: Storage management - Fetch specific storage
|
|
234
|
-
console.log('\nTest 11: Fetching specific storage details...');
|
|
235
|
-
try {
|
|
236
|
-
const storageDetails = await storage.fetch(TEST_CONFIG.product, TEST_CONFIG.storage);
|
|
237
|
-
if (storageDetails) {
|
|
238
|
-
console.log(' Storage details:', {
|
|
239
|
-
tag: storageDetails.tag,
|
|
240
|
-
name: storageDetails.name,
|
|
241
|
-
envCount: ((_c = storageDetails.envs) === null || _c === void 0 ? void 0 : _c.length) || 0,
|
|
242
|
-
envTypes: ((_d = storageDetails.envs) === null || _d === void 0 ? void 0 : _d.map(e => e.type)) || [],
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
else {
|
|
246
|
-
console.log(' Storage not found');
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
catch (error) {
|
|
250
|
-
console.log(' Fetch storage failed:', error.message);
|
|
251
|
-
}
|
|
252
|
-
// Test 12: Dispatch storage operation (background job)
|
|
253
|
-
console.log('\nTest 12: Dispatching storage operation as background job...');
|
|
254
|
-
try {
|
|
255
|
-
const dispatchContent = `Background upload test at ${new Date().toISOString()}`;
|
|
256
|
-
// Convert to base64 string for dispatch (IStorageRequest expects string buffer)
|
|
257
|
-
const dispatchBufferBase64 = Buffer.from(dispatchContent, 'utf-8').toString('base64');
|
|
148
|
+
console.log(`[TIMING] Signed URL (upload): ${(performance.now() - signedUploadStart).toFixed(2)}ms`);
|
|
149
|
+
console.log('Signed upload URL:', JSON.stringify(signedUploadUrl, null, 2));
|
|
150
|
+
// Test dispatching storage operation
|
|
151
|
+
console.log('\n--- Dispatching Storage Operation ---');
|
|
152
|
+
const dispatchStart = performance.now();
|
|
258
153
|
const dispatchResult = await storage.dispatch({
|
|
259
|
-
product:
|
|
260
|
-
env:
|
|
261
|
-
storage:
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
});
|
|
269
|
-
console.log('
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
});
|
|
296
|
-
console.log(
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
});
|
|
154
|
+
product: 'ductape:rematch',
|
|
155
|
+
env: 'prd',
|
|
156
|
+
storage: 'main-storage',
|
|
157
|
+
fileName: 'test-files/scheduled-upload.txt',
|
|
158
|
+
buffer: Buffer.from('Scheduled upload content'),
|
|
159
|
+
mimeType: 'text/plain',
|
|
160
|
+
operation: 'upload',
|
|
161
|
+
startAt: Date.now() + 60000, // 1 minute from now
|
|
162
|
+
});
|
|
163
|
+
console.log(`[TIMING] Dispatch storage: ${(performance.now() - dispatchStart).toFixed(2)}ms`);
|
|
164
|
+
console.log('Dispatch result:', JSON.stringify(dispatchResult, null, 2));
|
|
165
|
+
// Test deleting a file
|
|
166
|
+
console.log('\n--- Deleting File ---');
|
|
167
|
+
const deleteStart = performance.now();
|
|
168
|
+
const deleteResult = await storage.delete({
|
|
169
|
+
product: 'ductape:rematch',
|
|
170
|
+
env: 'prd',
|
|
171
|
+
storage: 'main-storage',
|
|
172
|
+
fileName: 'test-files/sample.bin',
|
|
173
|
+
});
|
|
174
|
+
console.log(`[TIMING] Delete file: ${(performance.now() - deleteStart).toFixed(2)}ms`);
|
|
175
|
+
console.log('Delete result:', JSON.stringify(deleteResult, null, 2));
|
|
176
|
+
// Cleanup - delete remaining test files
|
|
177
|
+
console.log('\n--- Cleanup ---');
|
|
178
|
+
const cleanupStart = performance.now();
|
|
179
|
+
await storage.delete({
|
|
180
|
+
product: 'ductape:rematch',
|
|
181
|
+
env: 'prd',
|
|
182
|
+
storage: 'main-storage',
|
|
183
|
+
fileName: 'test-files/hello-world.txt',
|
|
184
|
+
});
|
|
185
|
+
await storage.delete({
|
|
186
|
+
product: 'ductape:rematch',
|
|
187
|
+
env: 'prd',
|
|
188
|
+
storage: 'main-storage',
|
|
189
|
+
fileName: 'test-files/data.json',
|
|
190
|
+
});
|
|
191
|
+
console.log(`[TIMING] Cleanup: ${(performance.now() - cleanupStart).toFixed(2)}ms`);
|
|
192
|
+
console.log('Test files cleaned up.');
|
|
193
|
+
const totalTime = performance.now() - startTime;
|
|
194
|
+
console.log(`\n[TIMING SUMMARY]`);
|
|
195
|
+
console.log(` Total time: ${totalTime.toFixed(2)}ms`);
|
|
301
196
|
}
|
|
302
197
|
catch (error) {
|
|
303
|
-
console.
|
|
304
|
-
}
|
|
305
|
-
// Clean up test files
|
|
306
|
-
console.log('\nCleaning up test files...');
|
|
307
|
-
const filesToClean = [
|
|
308
|
-
`data/${testJsonName}`,
|
|
309
|
-
`images/${testImageName}`,
|
|
310
|
-
];
|
|
311
|
-
for (const fileName of filesToClean) {
|
|
312
|
-
try {
|
|
313
|
-
await storage.remove({
|
|
314
|
-
product: TEST_CONFIG.product,
|
|
315
|
-
env: TEST_CONFIG.env,
|
|
316
|
-
storage: TEST_CONFIG.storage,
|
|
317
|
-
fileName,
|
|
318
|
-
});
|
|
319
|
-
console.log(` Deleted: ${fileName}`);
|
|
320
|
-
}
|
|
321
|
-
catch (_e) {
|
|
322
|
-
console.log(` Could not delete (may not exist): ${fileName}`);
|
|
323
|
-
}
|
|
198
|
+
console.error('Error in storage operations:', error);
|
|
324
199
|
}
|
|
325
|
-
console.log('\n========== STORAGE TESTS COMPLETED ==========\n');
|
|
326
200
|
}
|
|
327
|
-
|
|
328
|
-
runStorageTests().catch((err) => {
|
|
329
|
-
console.error('Error running storage tests:', err);
|
|
330
|
-
process.exit(1);
|
|
331
|
-
});
|
|
201
|
+
runStorageTests();
|
|
332
202
|
//# sourceMappingURL=test.storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.storage.js","sourceRoot":"","sources":["../../src/test/test.storage.ts"],"names":[],"mappings":";;;;;AAAA,oDAA8B;AAE9B
|
|
1
|
+
{"version":3,"file":"test.storage.js","sourceRoot":"","sources":["../../src/test/test.storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|