eitri-cli 1.10.0 → 1.10.1-beta.1
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/eitri-cli-v2/eitri-cli-v2.darwin-arm64.node +0 -0
- package/eitri-cli-v2/eitri-cli-v2.darwin-x64.node +0 -0
- package/eitri-cli-v2/eitri-cli-v2.linux-x64-gnu.node +0 -0
- package/eitri-cli-v2/eitri-cli-v2.win32-x64-msvc.node +0 -0
- package/package.json +1 -1
- package/src/modules/vegvisir/VegvisirService.js +1 -1
- package/src/service/Emulator/AndroidEmulatorService.js +25 -3
- package/src/service/MiniLog.js +5 -46
- package/eitri-cli-v2/src/commands/mod.rs +0 -2
- package/eitri-cli-v2/src/commands/publish.rs +0 -35
- package/eitri-cli-v2/src/commands/run_test.rs +0 -41
- package/eitri-cli-v2/src/config/mod.rs +0 -1
- package/eitri-cli-v2/src/config/user_credentials.rs +0 -38
- package/eitri-cli-v2/src/infra/http_client.rs +0 -493
- package/eitri-cli-v2/src/infra/mod.rs +0 -1
- package/eitri-cli-v2/src/lib.rs +0 -30
- package/eitri-cli-v2/src/model/auth_response.rs +0 -8
- package/eitri-cli-v2/src/model/credentials.rs +0 -8
- package/eitri-cli-v2/src/model/eitri_conf.rs +0 -43
- package/eitri-cli-v2/src/model/mod.rs +0 -8
- package/eitri-cli-v2/src/model/process_output.rs +0 -8
- package/eitri-cli-v2/src/model/revision.rs +0 -14
- package/eitri-cli-v2/src/model/test_config.rs +0 -7
- package/eitri-cli-v2/src/model/url.rs +0 -11
- package/eitri-cli-v2/src/model/workspace_auth.rs +0 -4
- package/eitri-cli-v2/src/services/blind_guardian.rs +0 -87
- package/eitri-cli-v2/src/services/eitri_foundry.rs +0 -84
- package/eitri-cli-v2/src/services/eitri_manager.rs +0 -78
- package/eitri-cli-v2/src/services/mod.rs +0 -4
- package/eitri-cli-v2/src/services/workspace.rs +0 -49
- package/eitri-cli-v2/src/utils/convert_eitri_conf.rs +0 -98
- package/eitri-cli-v2/src/utils/mod.rs +0 -1
- package/test/Executor.js +0 -60
- package/test/Factory.js +0 -13
- package/test/Helper.js +0 -15
- package/test/_fixtures/factory.js +0 -30
- package/test/_fixtures/miniWebApp/miniapp.conf.js +0 -4
- package/test/_fixtures/miniapp.conf.js +0 -5
- package/test/_fixtures/server/HelloWorldBackend.js +0 -7
- package/test/_fixtures/src/Home.js +0 -5
- package/test/_fixtures/src/Home2.js +0 -5
- package/test/_fixtures/src/commons/util.js +0 -3
- package/test/_fixtures/src/components/TagA.jsx +0 -4
- package/test/_fixtures/src/components/TagB.jsx +0 -4
- package/test/_fixtures/src/components/TagC.jsx +0 -3
- package/test/_fixtures/src/components/TagD.jsx +0 -3
- package/test/_fixtures/src/server/foo.js +0 -7
- package/test/_fixtures/src/views/AboutTemplate.jsx +0 -14
- package/test/_fixtures/woodcoffee/miniapp.conf.js +0 -5
- package/test/ame.conf.js +0 -3
- package/test/cmd/clean.test.js +0 -66
- package/test/cmd/create.test.js +0 -252
- package/test/cmd/list.test.js +0 -74
- package/test/cmd/manage-env.test.js +0 -168
- package/test/e2e/cli.test.js +0 -473
- package/test/miniapp.conf.js +0 -3
- package/test/model/Payload.test.js +0 -35
- package/test/modules/vegvisir/VegvisirService.test.js +0 -37
- package/test/service/BlindGuardian.test.js +0 -84
- package/test/service/CheckAmeConf.test.js +0 -313
- package/test/service/Http.test.js +0 -312
- package/test/service/InviteService.test.js +0 -117
- package/test/service/MiniWebAppFactory.test.js +0 -40
- package/test/service/TagTree.test.js +0 -81
- package/test/service/TargetService.test.js +0 -48
- package/test/service/TrackingService.test.js +0 -105
- package/test/service/UserAmeConf.test.js +0 -47
- package/test/service/WoodCoffeeFactory.test.js +0 -148
- package/test/service/Workspace.test.js +0 -211
- package/test/utils/getWorkspaceId.test.js +0 -17
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-undef */
|
|
2
|
-
|
|
3
|
-
const nock = require('nock')
|
|
4
|
-
const path = require('path')
|
|
5
|
-
const url = require('url')
|
|
6
|
-
|
|
7
|
-
describe('Workspace', () => {
|
|
8
|
-
let workspace, folder2watch
|
|
9
|
-
beforeEach(() => {
|
|
10
|
-
nock.cleanAll()
|
|
11
|
-
folder2watch = path.resolve(__dirname, '..', '_fixtures')
|
|
12
|
-
|
|
13
|
-
workspace = require('../../src/service/Workspace').workspace
|
|
14
|
-
workspace.setFolder2Watch(folder2watch)
|
|
15
|
-
workspace.setServerUrl('https://dev.eitri.calindra.com.br')
|
|
16
|
-
workspace.setMiniConf({ version: '0.1.0' })
|
|
17
|
-
workspace.blindGuardian.getToken = async () => {
|
|
18
|
-
return { accessToken: 'xpto' }
|
|
19
|
-
}
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
afterEach(() => {
|
|
23
|
-
nock.cleanAll()
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
describe('.upsert(filePath)', () => {
|
|
27
|
-
it('envia o nome do arquivo para o servidor relativo a pasta do projeto local', (done) => {
|
|
28
|
-
nock('https://dev.eitri.calindra.com.br')
|
|
29
|
-
.post('/foundry/fileupload', (body) => {
|
|
30
|
-
let m = body.match(/\s+\/src\/Home\.js/)
|
|
31
|
-
expect(m).not.toBeNull()
|
|
32
|
-
done()
|
|
33
|
-
return true
|
|
34
|
-
})
|
|
35
|
-
.reply(200, {})
|
|
36
|
-
let filePath = path.resolve(folder2watch, 'src', 'Home.js')
|
|
37
|
-
workspace.upsert(filePath)
|
|
38
|
-
})
|
|
39
|
-
it('envia o arquivo para o servidor', (done) => {
|
|
40
|
-
nock('https://dev.eitri.calindra.com.br')
|
|
41
|
-
.post('/foundry/fileupload', (body) => {
|
|
42
|
-
let m = body.match(/name="file"; filename="Home\.js"/)
|
|
43
|
-
expect(m).not.toBeNull()
|
|
44
|
-
done()
|
|
45
|
-
return true
|
|
46
|
-
})
|
|
47
|
-
.reply(200, {})
|
|
48
|
-
let filePath = path.resolve(folder2watch, 'src', 'Home.js')
|
|
49
|
-
workspace.upsert(filePath)
|
|
50
|
-
})
|
|
51
|
-
it('envia em sequencia', (done) => {
|
|
52
|
-
nock('https://dev.eitri.calindra.com.br')
|
|
53
|
-
.post('/foundry/fileupload')
|
|
54
|
-
.delayBody(1000)
|
|
55
|
-
.reply(200, { request: 1 })
|
|
56
|
-
nock('https://dev.eitri.calindra.com.br')
|
|
57
|
-
.post('/foundry/fileupload')
|
|
58
|
-
.delayBody(100)
|
|
59
|
-
.reply(200, { request: 2 })
|
|
60
|
-
let filePath = path.resolve(folder2watch, 'src', 'Home.js')
|
|
61
|
-
let a = workspace.upsert(filePath)
|
|
62
|
-
let filePath2 = path.resolve(folder2watch, 'src', 'Home2.js')
|
|
63
|
-
let b = workspace.upsert(filePath2)
|
|
64
|
-
Promise.all([a, b])
|
|
65
|
-
.then(() => {
|
|
66
|
-
done()
|
|
67
|
-
})
|
|
68
|
-
.catch(done)
|
|
69
|
-
})
|
|
70
|
-
|
|
71
|
-
it('deve enviar de forma concorrente', async (done) => {
|
|
72
|
-
nock('https://dev.eitri.calindra.com.br')
|
|
73
|
-
.post('/foundry/fileupload')
|
|
74
|
-
.delayBody(1000)
|
|
75
|
-
.reply(200, { request: 1 })
|
|
76
|
-
nock('https://dev.eitri.calindra.com.br')
|
|
77
|
-
.post('/foundry/fileupload')
|
|
78
|
-
.delayBody(100)
|
|
79
|
-
.reply(200, { request: 2 })
|
|
80
|
-
let filePath = path.resolve(folder2watch, 'src', 'Home.js')
|
|
81
|
-
let filePath2 = path.resolve(folder2watch, 'src', 'Home2.js')
|
|
82
|
-
const data = await workspace.upsert([filePath, filePath2], {}, true)
|
|
83
|
-
|
|
84
|
-
data.forEach(result => {
|
|
85
|
-
expect(result.time).toBeTruthy()
|
|
86
|
-
expect(result.filePath).toBeTruthy()
|
|
87
|
-
expect(result.relativePath).toBeTruthy()
|
|
88
|
-
})
|
|
89
|
-
done()
|
|
90
|
-
})
|
|
91
|
-
|
|
92
|
-
it('deve retornar error se o fileName conter carácteres inválidos quando o arquivo for enviado sequencialmente', async () => {
|
|
93
|
-
let filePath = path.resolve(folder2watch, 'src', 'Homé.js')
|
|
94
|
-
const data = await workspace.upsert(filePath, {})
|
|
95
|
-
expect(data.message).toBe(' - No nome do arquivo possui um ou mais caracteres não permitidos: Homé.js')
|
|
96
|
-
})
|
|
97
|
-
|
|
98
|
-
it('deve retornar error se o fileName conter carácteres inválidos quando o arquivo for enviado concorrentemente', async () => {
|
|
99
|
-
let filePath = path.resolve(folder2watch, 'src', 'Homé.js')
|
|
100
|
-
const data = await workspace.upsert([filePath], {}, true)
|
|
101
|
-
expect(data.message).toBe(' - No nome do arquivo possui um ou mais caracteres não permitidos: Homé.js')
|
|
102
|
-
})
|
|
103
|
-
}, 10000)
|
|
104
|
-
|
|
105
|
-
describe('.delete(filePath)', () => {
|
|
106
|
-
it('pede para o servidor apagar o arquivo', async () => {
|
|
107
|
-
let scope = nock('https://dev.eitri.calindra.com.br')
|
|
108
|
-
.delete(/\/foundry\/fileupload.*/)
|
|
109
|
-
.reply(200, {})
|
|
110
|
-
let filePath = path.resolve(folder2watch, 'src', 'Home.js')
|
|
111
|
-
await workspace.delete(filePath)
|
|
112
|
-
expect(scope.isDone()).toBe(true)
|
|
113
|
-
})
|
|
114
|
-
})
|
|
115
|
-
|
|
116
|
-
describe('.listFilesInCorrectOrder()', () => {
|
|
117
|
-
it('concatena os componentes', async () => {
|
|
118
|
-
workspace.folder2watch = path.resolve(
|
|
119
|
-
__dirname,
|
|
120
|
-
'..',
|
|
121
|
-
'_fixtures',
|
|
122
|
-
'src'
|
|
123
|
-
)
|
|
124
|
-
let files = await workspace.listFilesInCorrectOrder()
|
|
125
|
-
let names = files.map((fileName) => path.basename(fileName))
|
|
126
|
-
expect(names.slice(0, 4)).toEqual([
|
|
127
|
-
'TagC.jsx',
|
|
128
|
-
'TagB.jsx',
|
|
129
|
-
'TagA.jsx',
|
|
130
|
-
'TagD.jsx',
|
|
131
|
-
])
|
|
132
|
-
})
|
|
133
|
-
})
|
|
134
|
-
|
|
135
|
-
describe('.availableTargets()', () => {
|
|
136
|
-
|
|
137
|
-
const expectedTarget ={
|
|
138
|
-
'id': 7,
|
|
139
|
-
'name': 'CALINDRA_MOBILE',
|
|
140
|
-
'minimumCliVersion': '1.16.5',
|
|
141
|
-
'boilerplateUrl': 'https://github.com/Calindra/servless-backend-template',
|
|
142
|
-
'superAppClientLibName': 'eitri-app-client',
|
|
143
|
-
'componentsLibName': 'eitri-app-components',
|
|
144
|
-
'description': 'CALINDRA_MOBILE',
|
|
145
|
-
'status': 'ACTIVE',
|
|
146
|
-
'platform': 'mobile',
|
|
147
|
-
'targetConfig': [
|
|
148
|
-
{
|
|
149
|
-
'id': 'default',
|
|
150
|
-
'libUrl': 'https://www.npmjs.com/package/eitri-app-client',
|
|
151
|
-
'runnerUrl': 'https://dev.eitri.calindra.com.br/app/',
|
|
152
|
-
'bootstrapBaseUrl': 'http://localhost:3333',
|
|
153
|
-
'askUserDataApiUrl': 'https://dev.eitri.calindra.com.br/miniapp-manager-api/o/mini-apps/:slug/token'
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
'id': 'ws',
|
|
157
|
-
'libUrl': 'https://www.npmjs.com/package/eitri-app-client',
|
|
158
|
-
'runnerUrl': 'https://dev.eitri.calindra.com.br/app/',
|
|
159
|
-
'bootstrapBaseUrl': 'http://localhost:3333',
|
|
160
|
-
'askUserDataApiUrl': 'https://dev.eitri.calindra.com.br/miniapp-manager-api/p/mini-apps/:slug/token/foundry'
|
|
161
|
-
}
|
|
162
|
-
],
|
|
163
|
-
'default': false
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
it.skip('should return targets', async () => {
|
|
167
|
-
nock('https://dev.eitri.calindra.com.br', { allowUnmocked: true })
|
|
168
|
-
.get(/\/eitri-manager-api\/p\/users\/self\/targets/)
|
|
169
|
-
.reply(200, [expectedTarget])
|
|
170
|
-
const result = await workspace.availableTargets()
|
|
171
|
-
expect(result).toBeDefined()
|
|
172
|
-
expect(result).toContainEqual(expectedTarget)
|
|
173
|
-
})
|
|
174
|
-
})
|
|
175
|
-
|
|
176
|
-
describe('.postFile()', () => {
|
|
177
|
-
afterEach(() => {
|
|
178
|
-
nock.cleanAll()
|
|
179
|
-
})
|
|
180
|
-
it('deve invocar o postLambda quando o relativePath incluir a pasta server', async () => {
|
|
181
|
-
|
|
182
|
-
nock('https://dev.eitri.calindra.com.br')
|
|
183
|
-
.post('/foundry/server')
|
|
184
|
-
.delayBody(1000)
|
|
185
|
-
.reply(200, { request: 1 })
|
|
186
|
-
|
|
187
|
-
const filePath = path.resolve(folder2watch, 'server', 'HelloWorldBackend.js')
|
|
188
|
-
|
|
189
|
-
const spiedPostLambda = jest.spyOn(workspace, 'postLambda')
|
|
190
|
-
await workspace.postFile(filePath, false, {})
|
|
191
|
-
|
|
192
|
-
expect(spiedPostLambda).toHaveBeenCalled()
|
|
193
|
-
expect(spiedPostLambda).toHaveBeenCalledTimes(1)
|
|
194
|
-
})
|
|
195
|
-
|
|
196
|
-
it('deve invocar o postFormData quando o relativePath incluir o watchDir do miniapp', async () => {
|
|
197
|
-
nock('https://dev.eitri.calindra.com.br')
|
|
198
|
-
.post('/foundry/fileupload')
|
|
199
|
-
.delayBody(1000)
|
|
200
|
-
.reply(200, { request: 1 })
|
|
201
|
-
|
|
202
|
-
const filePath = path.resolve(folder2watch, 'src', 'Home.js')
|
|
203
|
-
|
|
204
|
-
const spiedPostFormData = jest.spyOn(workspace, 'postFormData')
|
|
205
|
-
await workspace.postFile(filePath, false, {})
|
|
206
|
-
|
|
207
|
-
expect(spiedPostFormData).toHaveBeenCalled()
|
|
208
|
-
expect(spiedPostFormData).toHaveBeenCalledTimes(1)
|
|
209
|
-
})
|
|
210
|
-
})
|
|
211
|
-
})
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
const VegvisirService = require("../../src/modules/vegvisir/VegvisirService");
|
|
2
|
-
const fs = require('fs/promises')
|
|
3
|
-
const vegvisirService = new VegvisirService()
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
jest.mock('fs', () => ({
|
|
7
|
-
existsSync: (path) => true
|
|
8
|
-
}))
|
|
9
|
-
|
|
10
|
-
describe('Get WorkspaceID Tests', () => {
|
|
11
|
-
|
|
12
|
-
it('should return error if workspace file not found', async () => {
|
|
13
|
-
const promise = vegvisirService.getWorkspace()
|
|
14
|
-
await expect(promise).rejects.toThrow("Você não tem nenhum workspace definido para desenvolvimento, execute o comando 'eitri workspace use' para definir um workspace.")
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
});
|