Skip to content

Commit

Permalink
Merge pull request #46 from s0/tidying
Browse files Browse the repository at this point in the history
🎨 Unify folder creation and clearing in tests
  • Loading branch information
s0 authored May 14, 2021
2 parents 6cf03fa + 5f03d06 commit d065765
Show file tree
Hide file tree
Showing 14 changed files with 278 additions and 339 deletions.
95 changes: 36 additions & 59 deletions action/test/specs/misconfiguration.spec.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import { rmRF } from '@actions/io';
import * as path from 'path';

import * as util from '../util';
import { prepareTestFolders } from '../util/io';

const KNOWN_HOSTS_WARNING = `
##[warning] KNOWN_HOSTS_FILE not set
Expand All @@ -22,20 +20,16 @@ that the public key has been added to the target repo

describe('Misconfigurations', () => {
xit('missing-known-hosts', async () => {
const testname = `misconfiguration-missing-known-hosts`;
const dataDir = path.join(util.DATA_DIR, testname);

await rmRF(dataDir);
await util.mkdir(dataDir);
const folders = await prepareTestFolders({ __filename });

// Run Action
await util
.runWithGithubEnv(
testname,
folders.testName,
{
REPO: 'ssh://git@git-ssh/git-server/repos/non-existing.git',
REPO: folders.repoUrl,
BRANCH: 'branch-a',
FOLDER: dataDir,
FOLDER: folders.dataDir,
SSH_PRIVATE_KEY: (
await util.readFile(util.SSH_PRIVATE_KEY)
).toString(),
Expand Down Expand Up @@ -63,16 +57,15 @@ describe('Misconfigurations', () => {
});

it('missing-repo', async () => {
const testname = `misconfiguration-missing-repo`;
const dataDir = path.join(util.DATA_DIR, testname);
const folders = await prepareTestFolders({ __filename });

// Run Action
await util
.runWithGithubEnv(
testname,
folders.testName,
{
BRANCH: 'branch-a',
FOLDER: dataDir,
FOLDER: folders.dataDir,
},
's0/test',
{},
Expand All @@ -98,14 +91,14 @@ describe('Misconfigurations', () => {
});

it('missing-folder', async () => {
const testname = `misconfiguration-missing-folder`;
const folders = await prepareTestFolders({ __filename });

// Run Action
await util
.runWithGithubEnv(
testname,
folders.testName,
{
REPO: 'ssh://git@git-ssh/git-server/repos/non-existing.git',
REPO: folders.repoUrl,
BRANCH: 'branch-a',
},
's0/test',
Expand All @@ -132,16 +125,15 @@ describe('Misconfigurations', () => {
});

it('missing-branch', async () => {
const testname = `misconfiguration-missing-branch`;
const dataDir = path.join(util.DATA_DIR, testname);
const folders = await prepareTestFolders({ __filename });

// Run Action
await util
.runWithGithubEnv(
testname,
folders.testName,
{
REPO: 'ssh://git@git-ssh/git-server/repos/non-existing.git',
FOLDER: dataDir,
REPO: folders.repoUrl,
FOLDER: folders.dataDir,
},
's0/test',
{},
Expand All @@ -167,17 +159,16 @@ describe('Misconfigurations', () => {
});

it('missing-event-path', async () => {
const testname = `misconfiguration-missing-event-path`;
const dataDir = path.join(util.DATA_DIR, testname);
const folders = await prepareTestFolders({ __filename });

// Run Action
await util
.runWithGithubEnv(
testname,
folders.testName,
{
REPO: 'ssh://git@git-ssh/git-server/repos/non-existing.git',
REPO: folders.repoUrl,
BRANCH: 'branch-a',
FOLDER: dataDir,
FOLDER: folders.dataDir,
SSH_PRIVATE_KEY: (
await util.readFile(util.SSH_PRIVATE_KEY)
).toString(),
Expand Down Expand Up @@ -207,17 +198,16 @@ describe('Misconfigurations', () => {
});

it('missing-ssh-private-key', async () => {
const testname = `misconfiguration-missing-ssh-private-key`;
const dataDir = path.join(util.DATA_DIR, testname);
const folders = await prepareTestFolders({ __filename });

// Run Action
await util
.runWithGithubEnv(
testname,
folders.testName,
{
REPO: 'ssh://git@git-ssh/git-server/repos/non-existing.git',
REPO: folders.repoUrl,
BRANCH: 'branch-a',
FOLDER: dataDir,
FOLDER: folders.dataDir,
},
's0/test',
{},
Expand Down Expand Up @@ -245,17 +235,16 @@ describe('Misconfigurations', () => {
});

it('unsupported-http-repo', async () => {
const testname = `misconfiguration-unsupported-http-repo`;
const dataDir = path.join(util.DATA_DIR, testname);
const folders = await prepareTestFolders({ __filename });

// Run Action
await util
.runWithGithubEnv(
testname,
folders.testName,
{
REPO: 'https://github.com/s0/git-publish-subdir-action-tests.git',
BRANCH: 'branch-a',
FOLDER: dataDir,
FOLDER: folders.dataDir,
},
's0/test',
{},
Expand All @@ -280,20 +269,16 @@ describe('Misconfigurations', () => {
});
});
it('unauthorized-ssh-key', async () => {
const testname = `unauthorized-ssh-key`;
const dataDir = path.join(util.DATA_DIR, testname);

await rmRF(dataDir);
await util.mkdir(dataDir);
const folders = await prepareTestFolders({ __filename });

// Run Action
await util
.runWithGithubEnv(
testname,
folders.testName,
{
REPO: 'ssh://git@git-ssh/git-server/repos/ssh-no-branch.git',
REPO: folders.repoUrl,
BRANCH: 'branch-a',
FOLDER: dataDir,
FOLDER: folders.dataDir,
SSH_PRIVATE_KEY: (
await util.readFile(util.SSH_PRIVATE_KEY_INVALID)
).toString(),
Expand All @@ -320,20 +305,16 @@ describe('Misconfigurations', () => {
});
});
it('self-missing-token', async () => {
const testname = `uself-missing-token`;
const dataDir = path.join(util.DATA_DIR, testname);

await rmRF(dataDir);
await util.mkdir(dataDir);
const folders = await prepareTestFolders({ __filename });

// Run Action
await util
.runWithGithubEnv(
testname,
folders.testName,
{
REPO: 'self',
BRANCH: 'tmp-test-branch',
FOLDER: dataDir,
FOLDER: folders.dataDir,
},
's0/test',
{},
Expand Down Expand Up @@ -361,20 +342,16 @@ describe('Misconfigurations', () => {
});

it('self-missing-repo', async () => {
const testname = `uself-missing-repo`;
const dataDir = path.join(util.DATA_DIR, testname);

await rmRF(dataDir);
await util.mkdir(dataDir);
const folders = await prepareTestFolders({ __filename });

// Run Action
await util
.runWithGithubEnv(
testname,
folders.testName,
{
REPO: 'self',
BRANCH: 'tmp-test-branch',
FOLDER: dataDir,
FOLDER: folders.dataDir,
GITHUB_TOKEN: 'foobar',
},
undefined,
Expand Down
16 changes: 7 additions & 9 deletions action/test/specs/self.spec.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import { promises as fs } from 'fs';
import * as path from 'path';
import { mkdirP, rmRF } from '@actions/io';
import { mkdirP } from '@actions/io';

import * as util from '../util';

const DATA_DIR = path.join(util.DATA_DIR, 'self');
import { prepareTestFolders } from '../util/io';

const RUNNING_IN_GITHUB =
!!process.env.GITHUB_SELF_TEST_REPO && !!process.env.GITHUB_SELF_TEST_TOKEN;
Expand All @@ -28,19 +27,18 @@ itGithubOnly('Deploy to another branch on self repo', async () => {
);

// Create dummy data
await rmRF(DATA_DIR);
await mkdirP(DATA_DIR);
await mkdirP(path.join(DATA_DIR, 'dummy'));
await fs.writeFile(path.join(DATA_DIR, 'dummy', 'baz'), 'foobar');
await fs.writeFile(path.join(DATA_DIR, 'dummy', '.bat'), 'foobar');
const folders = await prepareTestFolders({ __filename });
await mkdirP(path.join(folders.dataDir, 'dummy'));
await fs.writeFile(path.join(folders.dataDir, 'dummy', 'baz'), 'foobar');
await fs.writeFile(path.join(folders.dataDir, 'dummy', '.bat'), 'foobar');

// Run Action
await util.runWithGithubEnv(
path.basename(__filename),
{
REPO: 'self',
BRANCH: 'tmp-test-branch',
FOLDER: DATA_DIR,
FOLDER: folders.dataDir,
GITHUB_TOKEN: token,
},
repo,
Expand Down
31 changes: 12 additions & 19 deletions action/test/specs/ssh-custom-messages.spec.ts
Original file line number Diff line number Diff line change
@@ -1,33 +1,26 @@
import { promises as fs } from 'fs';
import * as path from 'path';
import { mkdirP, rmRF } from '@actions/io';
import { mkdirP } from '@actions/io';

import * as util from '../util';

const REPO_DIR = path.join(util.REPOS_DIR, 'ssh-custom-messages.git');
const DATA_DIR = path.join(util.DATA_DIR, 'ssh-custom-messages');
import { prepareTestFolders } from '../util/io';

it('Test custom message templates', async () => {
await rmRF(REPO_DIR);
await rmRF(DATA_DIR);

// Create empty repo
await mkdirP(REPO_DIR);
await util.wrappedExec('git init --bare', { cwd: REPO_DIR });
const folders = await prepareTestFolders({ __filename });
await util.wrappedExec('git init --bare', { cwd: folders.repoDir });

// Create dummy data
await mkdirP(DATA_DIR);
await mkdirP(path.join(DATA_DIR, 'dummy'));
await fs.writeFile(path.join(DATA_DIR, 'dummy', 'baz'), 'foobar');
await fs.writeFile(path.join(DATA_DIR, 'dummy', '.bat'), 'foobar');
await mkdirP(path.join(folders.dataDir, 'dummy'));
await fs.writeFile(path.join(folders.dataDir, 'dummy', 'baz'), 'foobar');
await fs.writeFile(path.join(folders.dataDir, 'dummy', '.bat'), 'foobar');

// Run Action
await util.runWithGithubEnv(
path.basename(__filename),
{
REPO: 'ssh://git@git-ssh/git-server/repos/ssh-custom-messages.git',
REPO: folders.repoUrl,
BRANCH: 'branch-a',
FOLDER: DATA_DIR,
FOLDER: folders.dataDir,
SSH_PRIVATE_KEY: (await fs.readFile(util.SSH_PRIVATE_KEY)).toString(),
KNOWN_HOSTS_FILE: util.KNOWN_HOSTS,
MESSAGE:
Expand All @@ -42,9 +35,9 @@ it('Test custom message templates', async () => {
await util.runWithGithubEnv(
path.basename(__filename),
{
REPO: 'ssh://git@git-ssh/git-server/repos/ssh-custom-messages.git',
REPO: folders.repoUrl,
BRANCH: 'branch-a',
FOLDER: DATA_DIR,
FOLDER: folders.dataDir,
SSH_PRIVATE_KEY: (await fs.readFile(util.SSH_PRIVATE_KEY)).toString(),
KNOWN_HOSTS_FILE: util.KNOWN_HOSTS,
MESSAGE: 'This is another commit follow up with no content changes',
Expand All @@ -61,7 +54,7 @@ it('Test custom message templates', async () => {
await util.exec(
'git log --pretty="format:msg:%B%ntree:%T%nauthor:%an <%ae>" branch-a',
{
cwd: REPO_DIR,
cwd: folders.repoDir,
}
)
).stdout;
Expand Down
Loading

0 comments on commit d065765

Please sign in to comment.