🧪 Add checkly

This commit is contained in:
ajnart
2023-05-16 15:25:32 +09:00
parent 052a8c9489
commit 841cd6ab28
6 changed files with 39116 additions and 9025 deletions

18
__checks__/api.check.ts Normal file
View File

@@ -0,0 +1,18 @@
import { ApiCheck, AssertionBuilder } from 'checkly/constructs'
new ApiCheck('homepage-api-check-1', {
name: 'Fetch Book List',
alertChannels: [],
degradedResponseTime: 10000,
maxResponseTime: 20000,
request: {
url: 'https://danube-web.shop/api/books',
method: 'GET',
followRedirects: true,
skipSSL: false,
assertions: [
AssertionBuilder.statusCode().equals(200),
AssertionBuilder.jsonBody('$[0].id').isNotNull(),
],
}
})

View File

@@ -0,0 +1,11 @@
import { test, expect } from '@playwright/test'
// You can override the default Playwright test timeout of 30s
// test.setTimeout(60_000);
test('Checkly Homepage', async ({ page }) => {
const response = await page.goto('https://danube-web.shop')
expect(response?.status()).toBeLessThan(400)
await expect(page).toHaveTitle(/Danube WebShop/)
await page.screenshot({ path: 'homepage.jpg' })
})

44
checkly.config.ts Normal file
View File

@@ -0,0 +1,44 @@
import { defineConfig } from 'checkly'
/**
* See https://www.checklyhq.com/docs/cli/project-structure/
*/
const config = defineConfig({
/* A human friendly name for your project */
projectName: 'homarr',
/** A logical ID that needs to be unique across your Checkly account,
* See https://www.checklyhq.com/docs/cli/constructs/ to learn more about logical IDs.
*/
logicalId: 'homarr',
/* An optional URL to your Git repo */
repoUrl: 'https://github.com/checkly/checkly-cli',
/* Sets default values for Checks */
checks: {
/* A default for how often your Check should run in minutes */
frequency: 10,
/* Checkly data centers to run your Checks as monitors */
locations: ['us-east-1', 'eu-west-1'],
/* An optional array of tags to organize your Checks */
tags: ['mac'],
/** The Checkly Runtime identifier, determining npm packages and the Node.js version available at runtime.
* See https://www.checklyhq.com/docs/cli/npm-packages/
*/
runtimeId: '2023.02',
/* A glob pattern that matches the Checks inside your repo, see https://www.checklyhq.com/docs/cli/using-check-test-match/ */
checkMatch: '**/__checks__/**/*.check.ts',
browserChecks: {
/* A glob pattern matches any Playwright .spec.ts files and automagically creates a Browser Check. This way, you
* can just write native Playwright code. See https://www.checklyhq.com/docs/cli/using-check-test-match/
* */
testMatch: '**/__checks__/**/*.spec.ts',
},
},
cli: {
/* The default datacenter location to use when running npx checkly test */
runLocation: 'eu-west-1',
/* An array of default reporters to use when a reporter is not specified with the "--reporter" flag */
reporters: ['list'],
},
})
export default config

30053
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -105,10 +105,12 @@
"prettier": "^2.7.1", "prettier": "^2.7.1",
"sass": "^1.56.1", "sass": "^1.56.1",
"turbo": "latest", "turbo": "latest",
"typescript": "^5.0.0", "typescript": "latest",
"video.js": "^8.0.3", "video.js": "^8.0.3",
"vitest": "^0.29.3", "vitest": "^0.29.3",
"vitest-fetch-mock": "^0.2.2" "vitest-fetch-mock": "^0.2.2",
"checkly": "latest",
"ts-node": "latest"
}, },
"resolutions": { "resolutions": {
"@types/react": "17.0.59", "@types/react": "17.0.59",

18007
yarn.lock

File diff suppressed because it is too large Load Diff