diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/setup.ts | 34 | ||||
-rw-r--r-- | test/test.env | 7 | ||||
-rw-r--r-- | test/unit/commit.unit.test.ts | 23 | ||||
-rw-r--r-- | test/unit/repository.unit.test.ts | 14 |
4 files changed, 53 insertions, 25 deletions
diff --git a/test/setup.ts b/test/setup.ts new file mode 100644 index 0000000..d0b1410 --- /dev/null +++ b/test/setup.ts @@ -0,0 +1,34 @@ +import { access, mkdir, remove, copy } from "fs-extra"; +import { promisify } from "util"; +import { exec } from "child_process"; +import { config } from "dotenv"; + +const promiseExec = promisify(exec); +config({ path: "test/test.env" }); + +export default async function init() { + const can_access = await access(process.env.BASE_DIR) + .then(() => true) + .catch(() => false); + + console.log(can_access); + + if(can_access) { + await remove(process.env.BASE_DIR); + } + + await mkdir(process.env.BASE_DIR); + await mkdir(`${process.env.BASE_DIR}/${process.env.AVAIL_REPO}`); + + await copy(".git", `${process.env.BASE_DIR}/${process.env.AVAIL_REPO}`); + + process.chdir(`${process.env.BASE_DIR}/${process.env.AVAIL_REPO}`); + + const { stdout, stderr } = await promiseExec("git config core.bare true"); + + if(stderr) { + throw(stderr); + } + + process.chdir("../.."); +}
\ No newline at end of file diff --git a/test/test.env b/test/test.env new file mode 100644 index 0000000..4ff13ac --- /dev/null +++ b/test/test.env @@ -0,0 +1,7 @@ +BASE_DIR=git +AVAIL_REPO=githermit.git +UNAVAIL_REPO=angular +AVAIL_OBJECT=16778756fb25808a1311403590cd7d36fbbeee6c +UNAVAIL_OBJECT=601747563bff808a1d12403690cd7d36fbbeafcc +AVAIL_COMMIT=d546492f4fd400ae61a6abbe1905fdbc67451c4d +UNAVAIL_COMMIT=a546392f4fd440ae61a6afec1d25fdbc67251e2b
\ No newline at end of file diff --git a/test/unit/commit.unit.test.ts b/test/unit/commit.unit.test.ts index c4bb6f8..b8bd178 100644 --- a/test/unit/commit.unit.test.ts +++ b/test/unit/commit.unit.test.ts @@ -1,43 +1,32 @@ - import { Repository } from "server/src/git/repository"; import { Commit } from "server/src/git/commit"; describe("Commit", () => { - const base_dir = "/home/hampus/Projects"; - let repository: Repository; beforeAll(async () => { - repository = await Repository.open(base_dir, "githermit"); + repository = await Repository.open(process.env.BASE_DIR, process.env.AVAIL_REPO); }); test("Lookup a existing commit by id", async () => { - const id = "d546492f4fd400ae61a6abbe1905fdbc67451c4d"; - - const lookupCommit = jest.fn(() => Commit.lookup(repository, id)); + const lookupCommit = jest.fn(() => Commit.lookup(repository, process.env.AVAIL_COMMIT)); const commit = await lookupCommit(); expect(lookupCommit).toReturn(); - expect(commit.id).toBe(id); + expect(commit.id).toBe(process.env.AVAIL_COMMIT); }); test("Lookup a nonexistant commit by id throws", async () => { - const id = "a546392f4fd440ae61a6afec1d25fdbc67251e2b"; - - expect(Commit.lookup(repository, id)).rejects.toThrow(); + expect(Commit.lookup(repository, process.env.UNAVAIL_COMMIT)).rejects.toThrow(); }); test("Lookup if an existing commit exists by id", async () => { - const id = "d546492f4fd400ae61a6abbe1905fdbc67451c4d"; - - expect(Commit.lookupExists(repository, id)).resolves.toBeTruthy(); + expect(Commit.lookupExists(repository, process.env.AVAIL_COMMIT)).resolves.toBeTruthy(); }); test("Lookup if an nonexistant commit exists by id", async () => { - const id = "a546392f4fd440ae61a6afec1d25fdbc67251e2b"; - - expect(Commit.lookupExists(repository, id)).resolves.toBeFalsy(); + expect(Commit.lookupExists(repository, process.env.UNAVAIL_COMMIT)).resolves.toBeFalsy(); }); describe("Functions", () => { diff --git a/test/unit/repository.unit.test.ts b/test/unit/repository.unit.test.ts index 0e13a2a..2a68a29 100644 --- a/test/unit/repository.unit.test.ts +++ b/test/unit/repository.unit.test.ts @@ -1,10 +1,8 @@ import { Repository } from "server/src/git/repository"; describe("Repository", () => { - const base_dir = "/home/hampus/Projects"; - test("Open existing repository", async () => { - const openRepository = jest.fn(() => Repository.open(base_dir, "githermit")); + const openRepository = jest.fn(() => Repository.open(process.env.BASE_DIR, process.env.AVAIL_REPO)); await openRepository(); @@ -12,11 +10,11 @@ describe("Repository", () => { }); test("Open nonexistant repository throws", async () => { - expect(Repository.open(base_dir, "angular")).rejects.toThrow(); + expect(Repository.open(process.env.BASE_DIR, process.env.UNAVAIL_REPO)).rejects.toThrow(); }); test("Open all repositories", async () => { - const openAllRepositories = jest.fn(() => Repository.openAll(base_dir)); + const openAllRepositories = jest.fn(() => Repository.openAll(process.env.BASE_DIR)); await openAllRepositories(); @@ -27,17 +25,17 @@ describe("Repository", () => { let repository: Repository; beforeAll(async () => { - repository = await Repository.open(base_dir, "githermit"); + repository = await Repository.open(process.env.BASE_DIR, process.env.AVAIL_REPO); }); test("Lookup if an existing object exists", async () => { - const exists = await repository.lookupExists("16778756fb25808a1311403590cd7d36fbbeee6c"); + const exists = await repository.lookupExists(process.env.AVAIL_OBJECT); expect(exists).toBeTruthy(); }); test("Lookup if an nonexistant object exists", async () => { - const exists = await repository.lookupExists("601747563bff808a1d12403690cd7d36fbbeafcc"); + const exists = await repository.lookupExists(process.env.UNAVAIL_OBJECT); expect(exists).toBeFalsy(); }); |