Skip to content

Commit

Permalink
chore: move setTimeout outside of async functions
Browse files Browse the repository at this point in the history
ref:
jestjs/jest#11543

Signed-off-by: Dale Lane <dale.lane@uk.ibm.com>
  • Loading branch information
dalelane committed Mar 7, 2024
1 parent fb6e5da commit b7789e2
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 54 deletions.
5 changes: 1 addition & 4 deletions test/Common.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ const generateFolderName = () => {
return path.resolve(MAIN_TEST_RESULT_PATH, crypto.randomBytes(4).toString('hex'));
};

jest.setTimeout(30000);

// Test class Function
test('Creates Class from parameters', () => {
Expand Down Expand Up @@ -146,8 +147,6 @@ test('invalid port', () => {
// Test EnvJson Function

test('EnvJson extracts correct values', async () => {
jest.setTimeout(30000);

const OUTPUT_DIR = generateFolderName();

const generator = new Generator(path.normalize('./'), OUTPUT_DIR, { forceWrite: true, templateParams: params });
Expand All @@ -171,8 +170,6 @@ test('EnvJson extracts correct values', async () => {
// Test ImportModels

test('ImportModels are generated', async () => {
jest.setTimeout(30000);

const OUTPUT_DIR = generateFolderName();

const generator = new Generator(path.normalize('./'), OUTPUT_DIR, { forceWrite: true, templateParams: params });
Expand Down
10 changes: 5 additions & 5 deletions test/Consumer.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,22 @@ const crypto = require('crypto');

const MAIN_TEST_RESULT_PATH = path.join('test', 'temp', 'integrationTestResult');

jest.setTimeout(30000);

// Test Imports function
test('Generates all imports from path', async() => {
const generateFolderName = () => {
return path.resolve(MAIN_TEST_RESULT_PATH, crypto.randomBytes(4).toString('hex'));
};

jest.setTimeout(30000);


const OUTPUT_DIR = generateFolderName();
const params = {
server: 'production'
};

const generator = new Generator(path.normalize('./'), OUTPUT_DIR, { forceWrite: true, templateParams: params });
await generator.generateFromFile(path.resolve('test', 'mocks/single-channel.yml'));

expect(testConsumer.ConsumerImports({asyncapi: generator.asyncapi, params: generator.templateParams, message: { name: 'Song', id: () => { return 'Song'; }}})).toBe(`
import java.util.logging.*;
import java.io.Serializable;
Expand Down
66 changes: 21 additions & 45 deletions test/integration.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ const crypto = require('crypto');

const MAIN_TEST_RESULT_PATH = path.join('test', 'temp', 'integrationTestResult');

/*
* Please note: This test file was adapted from
/*
* Please note: This test file was adapted from
* https://github.com/asyncapi/java-spring-cloud-stream-template/blob/master/test/integration.test.js
*/

Expand All @@ -19,15 +19,13 @@ describe('template integration tests using the generator', () => {
jest.setTimeout(30000);

it('should generate static application files', async () => {
jest.setTimeout(30000);

const OUTPUT_DIR = generateFolderName();
const PACKAGE = 'com.asyncapi';
const PACKAGE_PATH = path.join(...PACKAGE.split('.'));
const params = {
server: 'production'
};

const generator = new Generator(path.normalize('./'), OUTPUT_DIR, { forceWrite: true, templateParams: params });
await generator.generateFromFile(path.resolve('test', 'mocks/single-channel.yml'));

Expand All @@ -47,15 +45,13 @@ describe('template integration tests using the generator', () => {
});

it('should generate dynamic producer subscriber files', async () => {
jest.setTimeout(30000);

const OUTPUT_DIR = generateFolderName();
const PACKAGE = 'com.asyncapi';
const PACKAGE_PATH = path.join(...PACKAGE.split('.'));
const params = {
server: 'production'
};

const generator = new Generator(path.normalize('./'), OUTPUT_DIR, { forceWrite: true, templateParams: params });
await generator.generateFromFile(path.resolve('test', 'mocks/single-channel.yml'));

Expand All @@ -66,22 +62,20 @@ describe('template integration tests using the generator', () => {
`${PACKAGE_PATH}/${channelName}Producer.java`,
`${PACKAGE_PATH}/${channelName}Subscriber.java`
];

for (const index in expectedFiles) {
expect(existsSync(path.join(OUTPUT_DIR, expectedFiles[index]))).toBe(true);
}
});

it('should generate dynamic model files', async () => {
jest.setTimeout(30000);

const OUTPUT_DIR = generateFolderName();
const PACKAGE = 'com.asyncapi';
const PACKAGE_PATH = path.join(...PACKAGE.split('.'));
const params = {
server: 'production'
};

const generator = new Generator(path.normalize('./'), OUTPUT_DIR, { forceWrite: true, templateParams: params });
await generator.generateFromFile(path.resolve('test', 'mocks/many-messages.yml'));

Expand All @@ -91,48 +85,44 @@ describe('template integration tests using the generator', () => {
`${PACKAGE_PATH}/models/Album.java`,
`${PACKAGE_PATH}/models/Artist.java`
];

for (const index in expectedFiles) {
expect(existsSync(path.join(OUTPUT_DIR, expectedFiles[index]))).toBe(true);
}
});

it('file structure should depend on package', async () => {
jest.setTimeout(30000);

const OUTPUT_DIR = generateFolderName();
const PACKAGE = 'com.ibm.mq.different.jms';
const PACKAGE_PATH = path.join(...PACKAGE.split('.'));
const params = {
server: 'production',
package: PACKAGE
};

const generator = new Generator(path.normalize('./'), OUTPUT_DIR, { forceWrite: true, templateParams: params });
await generator.generateFromFile(path.resolve('test', 'mocks/many-messages.yml'));

const expectedFiles = [
`${PACKAGE_PATH}/Connection.java`
];

for (const index in expectedFiles) {
expect(existsSync(path.join(OUTPUT_DIR, expectedFiles[index]))).toBe(true);
}
});

it('default env password is passw0rd', async () => {
jest.setTimeout(30000);

const OUTPUT_DIR = generateFolderName();
const PACKAGE = 'com.ibm.mq.different.jms';
const params = {
server: 'production',
package: PACKAGE
};

const generator = new Generator(path.normalize('./'), OUTPUT_DIR, { forceWrite: true, templateParams: params });
await generator.generateFromFile(path.resolve('test', 'mocks/many-messages.yml'));

// Read in JSON file
const exportedEnv = JSON.parse(readFileSync(path.join(OUTPUT_DIR, 'env.json')));
const password = exportedEnv.MQ_ENDPOINTS[0].APP_PASSWORD;
Expand All @@ -142,19 +132,17 @@ describe('template integration tests using the generator', () => {
});

it('default password overwritten on param provide', async () => {
jest.setTimeout(30000);

const OUTPUT_DIR = generateFolderName();
const PACKAGE = 'com.ibm.mq.different.jms';
const params = {
server: 'production',
package: PACKAGE,
password: 'paramProvidedPassword'
};

const generator = new Generator(path.normalize('./'), OUTPUT_DIR, { forceWrite: true, templateParams: params });
await generator.generateFromFile(path.resolve('test', 'mocks/many-messages.yml'));

// Read in JSON file
const exportedEnv = JSON.parse(readFileSync(path.join(OUTPUT_DIR, 'env.json')));
const password = exportedEnv.MQ_ENDPOINTS[0].APP_PASSWORD;
Expand All @@ -164,15 +152,13 @@ describe('template integration tests using the generator', () => {
});

it('default password overwritten by system env', async () => {
jest.setTimeout(30000);

const OUTPUT_DIR = generateFolderName();
const PACKAGE = 'com.ibm.mq.different.jms';
const params = {
server: 'production',
package: PACKAGE
};

// Set app_password env variable
process.env.APP_PASSWORD = 'envAppPassword';

Expand All @@ -191,16 +177,14 @@ describe('template integration tests using the generator', () => {
});

it('password parameter overwrites environment variable', async () => {
jest.setTimeout(30000);

const OUTPUT_DIR = generateFolderName();
const PACKAGE = 'com.ibm.mq.different.jms';
const params = {
server: 'production',
package: PACKAGE,
password: 'paramProvidedPassword'
};

// Set app_password env variable
process.env.APP_PASSWORD = 'envAppPassword';

Expand All @@ -219,18 +203,16 @@ describe('template integration tests using the generator', () => {
});

it('default env username is app', async () => {
jest.setTimeout(30000);

const OUTPUT_DIR = generateFolderName();
const PACKAGE = 'com.ibm.mq.different.jms';
const params = {
server: 'production',
package: PACKAGE
};

const generator = new Generator(path.normalize('./'), OUTPUT_DIR, { forceWrite: true, templateParams: params });
await generator.generateFromFile(path.resolve('test', 'mocks/many-messages.yml'));

// Read in JSON file
const exportedEnv = JSON.parse(readFileSync(path.join(OUTPUT_DIR, 'env.json')));
const username = exportedEnv.MQ_ENDPOINTS[0].APP_USER;
Expand All @@ -240,19 +222,17 @@ describe('template integration tests using the generator', () => {
});

it('default username overwritten on param provide', async () => {
jest.setTimeout(30000);

const OUTPUT_DIR = generateFolderName();
const PACKAGE = 'com.ibm.mq.different.jms';
const params = {
server: 'production',
package: PACKAGE,
user: 'paramUsername'
};

const generator = new Generator(path.normalize('./'), OUTPUT_DIR, { forceWrite: true, templateParams: params });
await generator.generateFromFile(path.resolve('test', 'mocks/many-messages.yml'));

// Read in JSON file
const exportedEnv = JSON.parse(readFileSync(path.join(OUTPUT_DIR, 'env.json')));
const username = exportedEnv.MQ_ENDPOINTS[0].APP_USER;
Expand All @@ -262,15 +242,13 @@ describe('template integration tests using the generator', () => {
});

it('default username overwritten by system env', async () => {
jest.setTimeout(30000);

const OUTPUT_DIR = generateFolderName();
const PACKAGE = 'com.ibm.mq.different.jms';
const params = {
server: 'production',
package: PACKAGE
};

// Set app_user env variable
process.env.APP_USER = 'envAppUsername';

Expand All @@ -289,16 +267,14 @@ describe('template integration tests using the generator', () => {
});

it('username parameter overwrites environment variable', async () => {
jest.setTimeout(30000);

const OUTPUT_DIR = generateFolderName();
const PACKAGE = 'com.ibm.mq.different.jms';
const params = {
server: 'production',
package: PACKAGE,
user: 'paramProvidedUsername'
};

// Set app_user env variable
process.env.APP_USER = 'envAppUsername';

Expand Down

0 comments on commit b7789e2

Please sign in to comment.