This commit is contained in:
Balena CI 2022-08-24 17:33:20 -04:00 committed by VersionBot
parent 222c097d4b
commit ba66b10c0e
6 changed files with 193 additions and 146 deletions

View File

@ -1,3 +1,44 @@
- commits:
- subject: Create `test/unit` and `test/integration` folders
hash: c1e6dadeb47c3c52958383a2fc775a821362f853
body: |
This sets up the new `test/unit` and `test/integration` folders
and starts classification of some of the test files.
Note that unit tests include, `fs-utils` and `system-info` tests.
While these tests interact with the filesystem, the implementation
of these modules is simple enough, and the tests are fast enough to
allow these tests to fall under the `unit` test category (according to
test/README)
footer:
Change-type: patch
change-type: patch
author: Felipe Lalanne
nested: []
- subject: Move the current test suite under `test/legacy`
hash: e1e35eb83b738040150ced1ee9500d780de4b632
body: |
We are refactoring the supervisor test suite into unit tests (for
algorithms an domain model tests) and integration
tests (for interaction with out-of-process dependencies).
This means the current test suite needs to be classified into
these two categories, and fixed whenever possible.
This commit moves the test suite under the `test/legacy` folder, this
folder should be progressively migrated and eventually removed.
Subsequent commits will begin to split these files into unit and
integration whenever possible.
footer:
Depends-on: "#1996"
depends-on: "#1996"
Change-type: patch
change-type: patch
author: Felipe Lalanne
nested: []
version: 14.0.15
title: "'Split test suite into unit and integration tests'"
date: 2022-08-24T20:09:59.828Z
- commits: - commits:
- subject: Simplify test commands in package.json - subject: Simplify test commands in package.json
hash: 274503feb3f2f9cd5a8db551fd93b9cce8ae9b39 hash: 274503feb3f2f9cd5a8db551fd93b9cce8ae9b39

View File

@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
This project adheres to [Semantic Versioning](http://semver.org/). This project adheres to [Semantic Versioning](http://semver.org/).
# v14.0.15
## (2022-08-24)
* Create `test/unit` and `test/integration` folders [Felipe Lalanne]
* Move the current test suite under `test/legacy` [Felipe Lalanne]
# v14.0.14 # v14.0.14
## (2022-08-22) ## (2022-08-22)

View File

@ -1 +1 @@
14.0.14 14.0.15

View File

@ -2,6 +2,6 @@ name: balena-supervisor
description: 'Balena Supervisor: balena''s agent on devices.' description: 'Balena Supervisor: balena''s agent on devices.'
joinable: false joinable: false
type: sw.application type: sw.application
version: 14.0.14 version: 14.0.15
provides: provides:
- slug: sw.compose.long-volume-syntax - slug: sw.compose.long-volume-syntax

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "balena-supervisor", "name": "balena-supervisor",
"version": "14.0.14", "version": "14.0.15",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@ -1,145 +1,145 @@
{ {
"name": "balena-supervisor", "name": "balena-supervisor",
"description": "This is balena's Supervisor, a program that runs on IoT devices and has the task of running user Apps (which are Docker containers), and updating them as the balena API informs it to.", "description": "This is balena's Supervisor, a program that runs on IoT devices and has the task of running user Apps (which are Docker containers), and updating them as the balena API informs it to.",
"version": "14.0.14", "version": "14.0.15",
"license": "Apache-2.0", "license": "Apache-2.0",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/balena-os/balena-supervisor.git" "url": "https://github.com/balena-os/balena-supervisor.git"
}, },
"scripts": { "scripts": {
"start": "./entry.sh", "start": "./entry.sh",
"build": "npm run clean && npm run release && webpack", "build": "npm run clean && npm run release && webpack",
"lint": "balena-lint -e ts -e js --typescript src/ test/ typings/ build-utils/ webpack.config.js", "lint": "balena-lint -e ts -e js --typescript src/ test/ typings/ build-utils/ webpack.config.js",
"test:build": "tsc --noEmit && tsc --noEmit --project tsconfig.js.json", "test:build": "tsc --noEmit && tsc --noEmit --project tsconfig.js.json",
"test:unit": "mocha --config test/unit/.mocharc.js", "test:unit": "mocha --config test/unit/.mocharc.js",
"test:integration": "mocha --config test/integration/.mocharc.js", "test:integration": "mocha --config test/integration/.mocharc.js",
"test:legacy": "mocha --config test/legacy/.mocharc.js", "test:legacy": "mocha --config test/legacy/.mocharc.js",
"test:node": "npm run test:unit && npm run test:integration && npm run test:legacy", "test:node": "npm run test:unit && npm run test:integration && npm run test:legacy",
"test:env": "docker-compose -f docker-compose.test.yml -f docker-compose.dev.yml up --build; npm run compose:down", "test:env": "docker-compose -f docker-compose.test.yml -f docker-compose.dev.yml up --build; npm run compose:down",
"test:compose": "docker-compose -f docker-compose.yml -f docker-compose.test.yml up --build --remove-orphans --exit-code-from=sut ; npm run compose:down", "test:compose": "docker-compose -f docker-compose.yml -f docker-compose.test.yml up --build --remove-orphans --exit-code-from=sut ; npm run compose:down",
"test:base": "npm run lint && npm run test:build && npm run test:unit && npm run test:legacy", "test:base": "npm run lint && npm run test:build && npm run test:unit && npm run test:legacy",
"test": "npm run lint && npm run test:build && npm run test:node", "test": "npm run lint && npm run test:build && npm run test:node",
"compose:down": "docker-compose -f docker-compose.test.yml down", "compose:down": "docker-compose -f docker-compose.test.yml down",
"prettify": "balena-lint -e ts -e js --typescript --fix src/ test/ typings/ build-utils/ webpack.config.js", "prettify": "balena-lint -e ts -e js --typescript --fix src/ test/ typings/ build-utils/ webpack.config.js",
"release": "tsc --project tsconfig.release.json && mv build/src/* build", "release": "tsc --project tsconfig.release.json && mv build/src/* build",
"sync": "ts-node --files sync/sync.ts", "sync": "ts-node --files sync/sync.ts",
"clean": "rimraf build" "clean": "rimraf build"
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@balena/happy-eyeballs": "0.0.6", "@balena/happy-eyeballs": "0.0.6",
"dbus": "^1.0.7", "dbus": "^1.0.7",
"mdns-resolver": "^1.0.0", "mdns-resolver": "^1.0.0",
"semver": "^7.3.2", "semver": "^7.3.2",
"sqlite3": "^4.1.1", "sqlite3": "^4.1.1",
"systeminformation": "^5.6.10" "systeminformation": "^5.6.10"
}, },
"engines": { "engines": {
"node": "^12.16.2", "node": "^12.16.2",
"npm": "^6.14.4" "npm": "^6.14.4"
}, },
"devDependencies": { "devDependencies": {
"@balena/contrato": "^0.6.0", "@balena/contrato": "^0.6.0",
"@balena/lint": "^5.1.0", "@balena/lint": "^5.1.0",
"@types/bluebird": "^3.5.32", "@types/bluebird": "^3.5.32",
"@types/chai": "^4.2.16", "@types/chai": "^4.2.16",
"@types/chai-as-promised": "^7.1.3", "@types/chai-as-promised": "^7.1.3",
"@types/chai-like": "^1.1.0", "@types/chai-like": "^1.1.0",
"@types/chai-things": "0.0.34", "@types/chai-things": "0.0.34",
"@types/common-tags": "^1.8.0", "@types/common-tags": "^1.8.0",
"@types/copy-webpack-plugin": "^6.0.0", "@types/copy-webpack-plugin": "^6.0.0",
"@types/dbus": "^1.0.0", "@types/dbus": "^1.0.0",
"@types/dockerode": "^2.5.34", "@types/dockerode": "^2.5.34",
"@types/event-stream": "^3.3.34", "@types/event-stream": "^3.3.34",
"@types/express": "^4.17.3", "@types/express": "^4.17.3",
"@types/lodash": "^4.14.159", "@types/lodash": "^4.14.159",
"@types/memoizee": "^0.4.4", "@types/memoizee": "^0.4.4",
"@types/mocha": "^8.2.2", "@types/mocha": "^8.2.2",
"@types/mock-fs": "^4.13.0", "@types/mock-fs": "^4.13.0",
"@types/morgan": "^1.9.0", "@types/morgan": "^1.9.0",
"@types/node": "^12.12.54", "@types/node": "^12.12.54",
"@types/request": "^2.48.5", "@types/request": "^2.48.5",
"@types/rewire": "^2.5.28", "@types/rewire": "^2.5.28",
"@types/rimraf": "^2.0.4", "@types/rimraf": "^2.0.4",
"@types/rwlock": "^5.0.2", "@types/rwlock": "^5.0.2",
"@types/semver": "^7.3.3", "@types/semver": "^7.3.3",
"@types/shell-quote": "^1.7.0", "@types/shell-quote": "^1.7.0",
"@types/sinon": "^10.0.11", "@types/sinon": "^10.0.11",
"@types/sinon-chai": "^3.2.5", "@types/sinon-chai": "^3.2.5",
"@types/supertest": "^2.0.11", "@types/supertest": "^2.0.11",
"@types/terser-webpack-plugin": "^3.0.0", "@types/terser-webpack-plugin": "^3.0.0",
"@types/tmp": "^0.1.0", "@types/tmp": "^0.1.0",
"@types/webpack": "^4.41.21", "@types/webpack": "^4.41.21",
"@types/yargs": "^15.0.12", "@types/yargs": "^15.0.12",
"balena-register-device": "^7.2.0", "balena-register-device": "^7.2.0",
"blinking": "^0.0.4", "blinking": "^0.0.4",
"bluebird": "^3.7.2", "bluebird": "^3.7.2",
"chai": "^4.3.4", "chai": "^4.3.4",
"chai-as-promised": "^7.1.1", "chai-as-promised": "^7.1.1",
"chai-like": "^1.1.1", "chai-like": "^1.1.1",
"chai-things": "^0.2.0", "chai-things": "^0.2.0",
"chokidar": "^3.5.1", "chokidar": "^3.5.1",
"common-tags": "^1.8.0", "common-tags": "^1.8.0",
"copy-webpack-plugin": "^6.0.3", "copy-webpack-plugin": "^6.0.3",
"deep-object-diff": "^1.1.0", "deep-object-diff": "^1.1.0",
"docker-delta": "^2.2.11", "docker-delta": "^2.2.11",
"docker-progress": "^4.0.3", "docker-progress": "^4.0.3",
"dockerode": "^2.5.8", "dockerode": "^2.5.8",
"duration-js": "^4.0.0", "duration-js": "^4.0.0",
"event-stream": "3.3.4", "event-stream": "3.3.4",
"express": "^4.17.1", "express": "^4.17.1",
"fork-ts-checker-webpack-plugin": "^5.1.0", "fork-ts-checker-webpack-plugin": "^5.1.0",
"fp-ts": "^2.8.1", "fp-ts": "^2.8.1",
"husky": "^4.2.5", "husky": "^4.2.5",
"io-ts": "^2.2.10", "io-ts": "^2.2.10",
"io-ts-reporters": "^1.2.2", "io-ts-reporters": "^1.2.2",
"json-mask": "^0.3.9", "json-mask": "^0.3.9",
"knex": "^0.20.13", "knex": "^0.20.13",
"lint-staged": "^10.2.11", "lint-staged": "^10.2.11",
"livepush": "^3.5.1", "livepush": "^3.5.1",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"memoizee": "^0.4.14", "memoizee": "^0.4.14",
"mixpanel": "^0.10.3", "mixpanel": "^0.10.3",
"mocha": "^8.3.2", "mocha": "^8.3.2",
"mocha-pod": "^0.6.0", "mocha-pod": "^0.6.0",
"mock-fs": "^4.14.0", "mock-fs": "^4.14.0",
"morgan": "^1.10.0", "morgan": "^1.10.0",
"network-checker": "^0.1.1", "network-checker": "^0.1.1",
"nock": "^13.1.2", "nock": "^13.1.2",
"nodemon": "^2.0.4", "nodemon": "^2.0.4",
"pinejs-client-request": "^7.2.1", "pinejs-client-request": "^7.2.1",
"pretty-ms": "^7.0.1", "pretty-ms": "^7.0.1",
"request": "^2.88.2", "request": "^2.88.2",
"resin-docker-build": "^1.1.6", "resin-docker-build": "^1.1.6",
"resumable-request": "^2.0.1", "resumable-request": "^2.0.1",
"rewire": "^5.0.0", "rewire": "^5.0.0",
"rimraf": "^2.7.1", "rimraf": "^2.7.1",
"rwlock": "^5.0.0", "rwlock": "^5.0.0",
"shell-quote": "^1.7.2", "shell-quote": "^1.7.2",
"sinon": "^11.1.2", "sinon": "^11.1.2",
"sinon-chai": "^3.6.0", "sinon-chai": "^3.6.0",
"strict-event-emitter-types": "^2.0.0", "strict-event-emitter-types": "^2.0.0",
"supertest": "^6.1.3", "supertest": "^6.1.3",
"tar-stream": "^2.1.3", "tar-stream": "^2.1.3",
"terser-webpack-plugin": "^4.1.0", "terser-webpack-plugin": "^4.1.0",
"tmp": "^0.1.0", "tmp": "^0.1.0",
"ts-loader": "^7.0.5", "ts-loader": "^7.0.5",
"ts-node": "^8.10.2", "ts-node": "^8.10.2",
"tsconfig-paths": "^4.1.0", "tsconfig-paths": "^4.1.0",
"typed-error": "^3.2.1", "typed-error": "^3.2.1",
"typescript": "^4.2.4", "typescript": "^4.2.4",
"webpack": "^4.44.1", "webpack": "^4.44.1",
"webpack-cli": "^3.3.12", "webpack-cli": "^3.3.12",
"winston": "^3.3.3", "winston": "^3.3.3",
"yargs": "^15.4.1" "yargs": "^15.4.1"
}, },
"husky": { "husky": {
"hooks": { "hooks": {
"pre-commit": "lint-staged" "pre-commit": "lint-staged"
} }
}, },
"versionist": { "versionist": {
"publishedAt": "2022-08-22T20:24:43.507Z" "publishedAt": "2022-08-24T20:10:00.278Z"
} }
} }