@gugananuvem/aws-local-simulator 1.0.14 → 1.0.15
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/README.md +594 -481
- package/bin/aws-local-simulator.js +63 -63
- package/package.json +11 -10
- package/src/config/config-loader.js +114 -114
- package/src/config/default-config.js +68 -68
- package/src/config/env-loader.js +68 -68
- package/src/index.js +146 -146
- package/src/index.mjs +123 -123
- package/src/server.js +227 -227
- package/src/services/apigateway/index.js +73 -73
- package/src/services/apigateway/server.js +507 -507
- package/src/services/apigateway/simulator.js +1261 -1261
- package/src/services/athena/index.js +75 -75
- package/src/services/athena/server.js +101 -101
- package/src/services/athena/simulador.js +998 -998
- package/src/services/athena/simulator.js +346 -346
- package/src/services/cloudformation/index.js +106 -106
- package/src/services/cloudformation/server.js +417 -417
- package/src/services/cloudformation/simulador.js +1045 -1045
- package/src/services/cloudtrail/index.js +84 -84
- package/src/services/cloudtrail/server.js +235 -235
- package/src/services/cloudtrail/simulador.js +719 -719
- package/src/services/cloudwatch/index.js +84 -84
- package/src/services/cloudwatch/server.js +366 -366
- package/src/services/cloudwatch/simulador.js +1173 -1173
- package/src/services/cognito/index.js +79 -70
- package/src/services/cognito/server.js +301 -279
- package/src/services/cognito/simulator.js +1655 -1119
- package/src/services/config/index.js +96 -96
- package/src/services/config/server.js +215 -215
- package/src/services/config/simulador.js +1260 -1260
- package/src/services/dynamodb/index.js +74 -74
- package/src/services/dynamodb/server.js +125 -123
- package/src/services/dynamodb/simulator.js +630 -630
- package/src/services/ecs/index.js +65 -65
- package/src/services/ecs/server.js +235 -233
- package/src/services/ecs/simulator.js +844 -844
- package/src/services/eventbridge/index.js +89 -89
- package/src/services/eventbridge/server.js +209 -209
- package/src/services/eventbridge/simulator.js +684 -684
- package/src/services/index.js +45 -45
- package/src/services/kms/index.js +75 -75
- package/src/services/kms/server.js +67 -67
- package/src/services/kms/simulator.js +324 -324
- package/src/services/lambda/handler-loader.js +183 -183
- package/src/services/lambda/index.js +78 -78
- package/src/services/lambda/route-registry.js +274 -274
- package/src/services/lambda/server.js +145 -145
- package/src/services/lambda/simulator.js +199 -182
- package/src/services/parameter-store/index.js +80 -80
- package/src/services/parameter-store/server.js +50 -50
- package/src/services/parameter-store/simulator.js +201 -201
- package/src/services/s3/index.js +73 -73
- package/src/services/s3/server.js +329 -245
- package/src/services/s3/simulator.js +565 -496
- package/src/services/secret-manager/index.js +80 -80
- package/src/services/secret-manager/server.js +50 -50
- package/src/services/secret-manager/simulator.js +171 -171
- package/src/services/sns/index.js +89 -89
- package/src/services/sns/server.js +580 -580
- package/src/services/sns/simulator.js +1482 -1482
- package/src/services/sqs/index.js +93 -93
- package/src/services/sqs/server.js +349 -347
- package/src/services/sqs/simulator.js +441 -441
- package/src/services/sts/index.js +37 -37
- package/src/services/sts/server.js +144 -142
- package/src/services/sts/simulator.js +69 -69
- package/src/services/xray/index.js +83 -83
- package/src/services/xray/server.js +308 -308
- package/src/services/xray/simulador.js +994 -994
- package/src/template/aws-config-template.js +87 -87
- package/src/template/aws-config-template.mjs +90 -90
- package/src/template/config-template.json +203 -203
- package/src/utils/aws-config.js +91 -91
- package/src/utils/cloudtrail-audit.js +129 -129
- package/src/utils/local-store.js +83 -83
- package/src/utils/logger.js +59 -59
package/src/index.js
CHANGED
|
@@ -1,147 +1,147 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AWS Local Simulator - Entry Point Principal
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
const Server = require('./server');
|
|
6
|
-
const { loadConfig } = require('./config/config-loader');
|
|
7
|
-
const logger = require('./utils/logger');
|
|
8
|
-
|
|
9
|
-
// Exporta serviços para uso programático
|
|
10
|
-
const DynamoDBService = require('./services/dynamodb');
|
|
11
|
-
const S3Service = require('./services/s3');
|
|
12
|
-
const SQSService = require('./services/sqs');
|
|
13
|
-
const LambdaService = require('./services/lambda');
|
|
14
|
-
const { SNSService } = require('./services/sns');
|
|
15
|
-
const { EventBridgeService } = require('./services/eventbridge');
|
|
16
|
-
const { CloudWatchService } = require('./services/cloudwatch');
|
|
17
|
-
const CloudTrailService = require('./services/cloudtrail');
|
|
18
|
-
const { KMSService } = require('./services/kms');
|
|
19
|
-
const CloudFormationService = require('./services/cloudformation');
|
|
20
|
-
const { XRayService } = require('./services/xray');
|
|
21
|
-
const { SecretManagerService } = require('./services/secret-manager');
|
|
22
|
-
const { ParameterStoreService } = require('./services/parameter-store');
|
|
23
|
-
const { ConfigService } = require('./services/config');
|
|
24
|
-
|
|
25
|
-
// Exporta utilitários
|
|
26
|
-
const LocalStore = require('./utils/local-store');
|
|
27
|
-
const HandlerLoader = require('./services/lambda/handler-loader');
|
|
28
|
-
const RouteRegistry = require('./services/lambda/route-registry');
|
|
29
|
-
|
|
30
|
-
class AWSLocalSimulator {
|
|
31
|
-
constructor(options = {}) {
|
|
32
|
-
this.options = options;
|
|
33
|
-
this.server = null;
|
|
34
|
-
this.isRunning = false;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
async start() {
|
|
38
|
-
if (this.isRunning) {
|
|
39
|
-
logger.warn('Simulador já está rodando');
|
|
40
|
-
return this;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
try {
|
|
44
|
-
const config = await loadConfig(this.options.configPath);
|
|
45
|
-
this.server = new Server(config);
|
|
46
|
-
await this.server.start();
|
|
47
|
-
this.isRunning = true;
|
|
48
|
-
logger.success('✅ AWS Local Simulator iniciado com sucesso');
|
|
49
|
-
return this;
|
|
50
|
-
} catch (error) {
|
|
51
|
-
logger.error('❌ Erro ao iniciar simulador:', error);
|
|
52
|
-
throw error;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
async stop() {
|
|
57
|
-
if (!this.isRunning || !this.server) {
|
|
58
|
-
logger.warn('Simulador não está rodando');
|
|
59
|
-
return this;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
try {
|
|
63
|
-
await this.server.stop();
|
|
64
|
-
this.isRunning = false;
|
|
65
|
-
logger.info('🛑 AWS Local Simulator parado');
|
|
66
|
-
return this;
|
|
67
|
-
} catch (error) {
|
|
68
|
-
logger.error('❌ Erro ao parar simulador:', error);
|
|
69
|
-
throw error;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
async restart() {
|
|
74
|
-
await this.stop();
|
|
75
|
-
await this.start();
|
|
76
|
-
return this;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
async reset() {
|
|
80
|
-
if (!this.server) {
|
|
81
|
-
throw new Error('Simulador não iniciado');
|
|
82
|
-
}
|
|
83
|
-
await this.server.reset();
|
|
84
|
-
logger.success('🗑️ Todos os dados foram resetados');
|
|
85
|
-
return this;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
getStatus() {
|
|
89
|
-
if (!this.server) {
|
|
90
|
-
return { running: false };
|
|
91
|
-
}
|
|
92
|
-
return {
|
|
93
|
-
running: this.isRunning,
|
|
94
|
-
services: this.server.getStatus()
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
getService(serviceName) {
|
|
99
|
-
if (!this.server) {
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
return this.server.getService(serviceName);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// Métodos de conveniência
|
|
106
|
-
getDynamoDB() {
|
|
107
|
-
return this.getService('dynamodb')?.getSimulator();
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
getS3() {
|
|
111
|
-
return this.getService('s3')?.getSimulator();
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
getSQS() {
|
|
115
|
-
return this.getService('sqs')?.getSimulator();
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
getLambda() {
|
|
119
|
-
return this.getService('lambda')?.getSimulator();
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
// Exporta classes e utilitários
|
|
124
|
-
module.exports = {
|
|
125
|
-
AWSLocalSimulator,
|
|
126
|
-
Server,
|
|
127
|
-
DynamoDBService,
|
|
128
|
-
S3Service,
|
|
129
|
-
SQSService,
|
|
130
|
-
LambdaService,
|
|
131
|
-
SNSService,
|
|
132
|
-
EventBridgeService,
|
|
133
|
-
CloudWatchService,
|
|
134
|
-
CloudTrailService,
|
|
135
|
-
KMSService,
|
|
136
|
-
CloudFormationService,
|
|
137
|
-
XRayService,
|
|
138
|
-
SecretManagerService,
|
|
139
|
-
ParameterStoreService,
|
|
140
|
-
ConfigService,
|
|
141
|
-
LocalStore,
|
|
142
|
-
HandlerLoader,
|
|
143
|
-
RouteRegistry
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
// Exporta também como default para ES Modules compatibilidade
|
|
1
|
+
/**
|
|
2
|
+
* AWS Local Simulator - Entry Point Principal
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
const Server = require('./server');
|
|
6
|
+
const { loadConfig } = require('./config/config-loader');
|
|
7
|
+
const logger = require('./utils/logger');
|
|
8
|
+
|
|
9
|
+
// Exporta serviços para uso programático
|
|
10
|
+
const DynamoDBService = require('./services/dynamodb');
|
|
11
|
+
const S3Service = require('./services/s3');
|
|
12
|
+
const SQSService = require('./services/sqs');
|
|
13
|
+
const LambdaService = require('./services/lambda');
|
|
14
|
+
const { SNSService } = require('./services/sns');
|
|
15
|
+
const { EventBridgeService } = require('./services/eventbridge');
|
|
16
|
+
const { CloudWatchService } = require('./services/cloudwatch');
|
|
17
|
+
const CloudTrailService = require('./services/cloudtrail');
|
|
18
|
+
const { KMSService } = require('./services/kms');
|
|
19
|
+
const CloudFormationService = require('./services/cloudformation');
|
|
20
|
+
const { XRayService } = require('./services/xray');
|
|
21
|
+
const { SecretManagerService } = require('./services/secret-manager');
|
|
22
|
+
const { ParameterStoreService } = require('./services/parameter-store');
|
|
23
|
+
const { ConfigService } = require('./services/config');
|
|
24
|
+
|
|
25
|
+
// Exporta utilitários
|
|
26
|
+
const LocalStore = require('./utils/local-store');
|
|
27
|
+
const HandlerLoader = require('./services/lambda/handler-loader');
|
|
28
|
+
const RouteRegistry = require('./services/lambda/route-registry');
|
|
29
|
+
|
|
30
|
+
class AWSLocalSimulator {
|
|
31
|
+
constructor(options = {}) {
|
|
32
|
+
this.options = options;
|
|
33
|
+
this.server = null;
|
|
34
|
+
this.isRunning = false;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
async start() {
|
|
38
|
+
if (this.isRunning) {
|
|
39
|
+
logger.warn('Simulador já está rodando');
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
try {
|
|
44
|
+
const config = await loadConfig(this.options.configPath);
|
|
45
|
+
this.server = new Server(config);
|
|
46
|
+
await this.server.start();
|
|
47
|
+
this.isRunning = true;
|
|
48
|
+
logger.success('✅ AWS Local Simulator iniciado com sucesso');
|
|
49
|
+
return this;
|
|
50
|
+
} catch (error) {
|
|
51
|
+
logger.error('❌ Erro ao iniciar simulador:', error);
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async stop() {
|
|
57
|
+
if (!this.isRunning || !this.server) {
|
|
58
|
+
logger.warn('Simulador não está rodando');
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
try {
|
|
63
|
+
await this.server.stop();
|
|
64
|
+
this.isRunning = false;
|
|
65
|
+
logger.info('🛑 AWS Local Simulator parado');
|
|
66
|
+
return this;
|
|
67
|
+
} catch (error) {
|
|
68
|
+
logger.error('❌ Erro ao parar simulador:', error);
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
async restart() {
|
|
74
|
+
await this.stop();
|
|
75
|
+
await this.start();
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
async reset() {
|
|
80
|
+
if (!this.server) {
|
|
81
|
+
throw new Error('Simulador não iniciado');
|
|
82
|
+
}
|
|
83
|
+
await this.server.reset();
|
|
84
|
+
logger.success('🗑️ Todos os dados foram resetados');
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
getStatus() {
|
|
89
|
+
if (!this.server) {
|
|
90
|
+
return { running: false };
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
running: this.isRunning,
|
|
94
|
+
services: this.server.getStatus()
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
getService(serviceName) {
|
|
99
|
+
if (!this.server) {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
return this.server.getService(serviceName);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Métodos de conveniência
|
|
106
|
+
getDynamoDB() {
|
|
107
|
+
return this.getService('dynamodb')?.getSimulator();
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
getS3() {
|
|
111
|
+
return this.getService('s3')?.getSimulator();
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
getSQS() {
|
|
115
|
+
return this.getService('sqs')?.getSimulator();
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
getLambda() {
|
|
119
|
+
return this.getService('lambda')?.getSimulator();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// Exporta classes e utilitários
|
|
124
|
+
module.exports = {
|
|
125
|
+
AWSLocalSimulator,
|
|
126
|
+
Server,
|
|
127
|
+
DynamoDBService,
|
|
128
|
+
S3Service,
|
|
129
|
+
SQSService,
|
|
130
|
+
LambdaService,
|
|
131
|
+
SNSService,
|
|
132
|
+
EventBridgeService,
|
|
133
|
+
CloudWatchService,
|
|
134
|
+
CloudTrailService,
|
|
135
|
+
KMSService,
|
|
136
|
+
CloudFormationService,
|
|
137
|
+
XRayService,
|
|
138
|
+
SecretManagerService,
|
|
139
|
+
ParameterStoreService,
|
|
140
|
+
ConfigService,
|
|
141
|
+
LocalStore,
|
|
142
|
+
HandlerLoader,
|
|
143
|
+
RouteRegistry
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
// Exporta também como default para ES Modules compatibilidade
|
|
147
147
|
module.exports.default = AWSLocalSimulator;
|
package/src/index.mjs
CHANGED
|
@@ -1,124 +1,124 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AWS Local Simulator - ES Module Entry Point
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import Server from './server.js';
|
|
6
|
-
import { loadConfig } from './config/config-loader.js';
|
|
7
|
-
import logger from './utils/logger.js';
|
|
8
|
-
import DynamoDBService from './services/dynamodb/index.js';
|
|
9
|
-
import S3Service from './services/s3/index.js';
|
|
10
|
-
import SQSService from './services/sqs/index.js';
|
|
11
|
-
import LambdaService from './services/lambda/index.js';
|
|
12
|
-
import SNSService from './services/sns/index.js';
|
|
13
|
-
import EventBridgeService from './services/eventbridge/index.js';
|
|
14
|
-
import LocalStore from './utils/local-store.js';
|
|
15
|
-
import HandlerLoader from './services/lambda/handler-loader.js';
|
|
16
|
-
import RouteRegistry from './services/lambda/route-registry.js';
|
|
17
|
-
|
|
18
|
-
export class AWSLocalSimulator {
|
|
19
|
-
constructor(options = {}) {
|
|
20
|
-
this.options = options;
|
|
21
|
-
this.server = null;
|
|
22
|
-
this.isRunning = false;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
async start() {
|
|
26
|
-
if (this.isRunning) {
|
|
27
|
-
logger.warn('Simulador já está rodando');
|
|
28
|
-
return this;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
try {
|
|
32
|
-
const config = await loadConfig(this.options.configPath);
|
|
33
|
-
this.server = new Server(config);
|
|
34
|
-
await this.server.start();
|
|
35
|
-
this.isRunning = true;
|
|
36
|
-
logger.success('✅ AWS Local Simulator iniciado com sucesso');
|
|
37
|
-
return this;
|
|
38
|
-
} catch (error) {
|
|
39
|
-
logger.error('❌ Erro ao iniciar simulador:', error);
|
|
40
|
-
throw error;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
async stop() {
|
|
45
|
-
if (!this.isRunning || !this.server) {
|
|
46
|
-
logger.warn('Simulador não está rodando');
|
|
47
|
-
return this;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
try {
|
|
51
|
-
await this.server.stop();
|
|
52
|
-
this.isRunning = false;
|
|
53
|
-
logger.info('🛑 AWS Local Simulator parado');
|
|
54
|
-
return this;
|
|
55
|
-
} catch (error) {
|
|
56
|
-
logger.error('❌ Erro ao parar simulador:', error);
|
|
57
|
-
throw error;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
async restart() {
|
|
62
|
-
await this.stop();
|
|
63
|
-
await this.start();
|
|
64
|
-
return this;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
async reset() {
|
|
68
|
-
if (!this.server) {
|
|
69
|
-
throw new Error('Simulador não iniciado');
|
|
70
|
-
}
|
|
71
|
-
await this.server.reset();
|
|
72
|
-
logger.success('🗑️ Todos os dados foram resetados');
|
|
73
|
-
return this;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
getStatus() {
|
|
77
|
-
if (!this.server) {
|
|
78
|
-
return { running: false };
|
|
79
|
-
}
|
|
80
|
-
return {
|
|
81
|
-
running: this.isRunning,
|
|
82
|
-
services: this.server.getStatus()
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
getService(serviceName) {
|
|
87
|
-
if (!this.server) {
|
|
88
|
-
return null;
|
|
89
|
-
}
|
|
90
|
-
return this.server.getService(serviceName);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
getDynamoDB() {
|
|
94
|
-
return this.getService('dynamodb')?.getSimulator();
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
getS3() {
|
|
98
|
-
return this.getService('s3')?.getSimulator();
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
getSQS() {
|
|
102
|
-
return this.getService('sqs')?.getSimulator();
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
getLambda() {
|
|
106
|
-
return this.getService('lambda')?.getSimulator();
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
// Exporta classes e utilitários
|
|
111
|
-
export {
|
|
112
|
-
Server,
|
|
113
|
-
DynamoDBService,
|
|
114
|
-
S3Service,
|
|
115
|
-
SQSService,
|
|
116
|
-
LambdaService,
|
|
117
|
-
SNSService,
|
|
118
|
-
EventBridgeService,
|
|
119
|
-
LocalStore,
|
|
120
|
-
HandlerLoader,
|
|
121
|
-
RouteRegistry
|
|
122
|
-
};
|
|
123
|
-
|
|
1
|
+
/**
|
|
2
|
+
* AWS Local Simulator - ES Module Entry Point
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import Server from './server.js';
|
|
6
|
+
import { loadConfig } from './config/config-loader.js';
|
|
7
|
+
import logger from './utils/logger.js';
|
|
8
|
+
import DynamoDBService from './services/dynamodb/index.js';
|
|
9
|
+
import S3Service from './services/s3/index.js';
|
|
10
|
+
import SQSService from './services/sqs/index.js';
|
|
11
|
+
import LambdaService from './services/lambda/index.js';
|
|
12
|
+
import SNSService from './services/sns/index.js';
|
|
13
|
+
import EventBridgeService from './services/eventbridge/index.js';
|
|
14
|
+
import LocalStore from './utils/local-store.js';
|
|
15
|
+
import HandlerLoader from './services/lambda/handler-loader.js';
|
|
16
|
+
import RouteRegistry from './services/lambda/route-registry.js';
|
|
17
|
+
|
|
18
|
+
export class AWSLocalSimulator {
|
|
19
|
+
constructor(options = {}) {
|
|
20
|
+
this.options = options;
|
|
21
|
+
this.server = null;
|
|
22
|
+
this.isRunning = false;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async start() {
|
|
26
|
+
if (this.isRunning) {
|
|
27
|
+
logger.warn('Simulador já está rodando');
|
|
28
|
+
return this;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
try {
|
|
32
|
+
const config = await loadConfig(this.options.configPath);
|
|
33
|
+
this.server = new Server(config);
|
|
34
|
+
await this.server.start();
|
|
35
|
+
this.isRunning = true;
|
|
36
|
+
logger.success('✅ AWS Local Simulator iniciado com sucesso');
|
|
37
|
+
return this;
|
|
38
|
+
} catch (error) {
|
|
39
|
+
logger.error('❌ Erro ao iniciar simulador:', error);
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
async stop() {
|
|
45
|
+
if (!this.isRunning || !this.server) {
|
|
46
|
+
logger.warn('Simulador não está rodando');
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
try {
|
|
51
|
+
await this.server.stop();
|
|
52
|
+
this.isRunning = false;
|
|
53
|
+
logger.info('🛑 AWS Local Simulator parado');
|
|
54
|
+
return this;
|
|
55
|
+
} catch (error) {
|
|
56
|
+
logger.error('❌ Erro ao parar simulador:', error);
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
async restart() {
|
|
62
|
+
await this.stop();
|
|
63
|
+
await this.start();
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
async reset() {
|
|
68
|
+
if (!this.server) {
|
|
69
|
+
throw new Error('Simulador não iniciado');
|
|
70
|
+
}
|
|
71
|
+
await this.server.reset();
|
|
72
|
+
logger.success('🗑️ Todos os dados foram resetados');
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
getStatus() {
|
|
77
|
+
if (!this.server) {
|
|
78
|
+
return { running: false };
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
running: this.isRunning,
|
|
82
|
+
services: this.server.getStatus()
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
getService(serviceName) {
|
|
87
|
+
if (!this.server) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
return this.server.getService(serviceName);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
getDynamoDB() {
|
|
94
|
+
return this.getService('dynamodb')?.getSimulator();
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
getS3() {
|
|
98
|
+
return this.getService('s3')?.getSimulator();
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
getSQS() {
|
|
102
|
+
return this.getService('sqs')?.getSimulator();
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
getLambda() {
|
|
106
|
+
return this.getService('lambda')?.getSimulator();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Exporta classes e utilitários
|
|
111
|
+
export {
|
|
112
|
+
Server,
|
|
113
|
+
DynamoDBService,
|
|
114
|
+
S3Service,
|
|
115
|
+
SQSService,
|
|
116
|
+
LambdaService,
|
|
117
|
+
SNSService,
|
|
118
|
+
EventBridgeService,
|
|
119
|
+
LocalStore,
|
|
120
|
+
HandlerLoader,
|
|
121
|
+
RouteRegistry
|
|
122
|
+
};
|
|
123
|
+
|
|
124
124
|
export default AWSLocalSimulator;
|