Repository: hyperjumptech/monika
Pull request #1129 (2023-10-02 09:36:37)

Deprecation: Incident and Recovery Threshold
# Monika Pull Request (PR)

## What feature/issue does this PR add
Deprecate incident and recovery threshold

## How did you implement / how did you fix it
- Remove incident and recovery threshold except in the config validation
- Add a deprecation message

## How to test
1. Run Monika as usual
2. Run the test

## Video


https://github.com/hyperjumptech/monika/assets/15191978/0fdd7b13-6a16-45e3-a8ac-f915fcc417d8



codecov[bot]: ## [Codecov](https://app.codecov.io/gh/hyperjumptech/monika/pull/1129?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=hyperjumptech) Report
> Merging [#1129](https://app.codecov.io/gh/hyperjumptech/monika/pull/1129?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=hyperjumptech) (a888b1e) into [main](https://app.codecov.io/gh/hyperjumptech/monika/commit/d6ae24171bde1aced323d26de075bac0e9bc2c3a?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=hyperjumptech) (d6ae241) will **decrease** coverage by `0.48%`.
> The diff coverage is `18.18%`.

> :exclamation: Current head a888b1e differs from pull request most recent head 009bdfb. Consider uploading reports for the commit 009bdfb to get more accurate results

```diff
@@            Coverage Diff             @@
##             main    #1129      +/-   ##
==========================================
- Coverage   60.80%   60.32%   -0.48%     
==========================================
  Files         111      111              
  Lines        3217     3216       -1     
  Branches      633      633              
==========================================
- Hits         1956     1940      -16     
- Misses        984     1000      +16     
+ Partials      277      276       -1     
```


| [Files](https://app.codecov.io/gh/hyperjumptech/monika/pull/1129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=hyperjumptech) | Coverage Δ | |
|---|---|---|
| [src/components/config/parse-insomnia.ts](https://app.codecov.io/gh/hyperjumptech/monika/pull/1129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=hyperjumptech#diff-c3JjL2NvbXBvbmVudHMvY29uZmlnL3BhcnNlLWluc29tbmlhLnRz) | `46.66% <ø> (-1.16%)` | :arrow_down: |
| [src/components/config/parse-postman.ts](https://app.codecov.io/gh/hyperjumptech/monika/pull/1129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=hyperjumptech#diff-c3JjL2NvbXBvbmVudHMvY29uZmlnL3BhcnNlLXBvc3RtYW4udHM=) | `62.26% <ø> (-0.70%)` | :arrow_down: |
| [src/components/config/parse-sitemap.ts](https://app.codecov.io/gh/hyperjumptech/monika/pull/1129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=hyperjumptech#diff-c3JjL2NvbXBvbmVudHMvY29uZmlnL3BhcnNlLXNpdGVtYXAudHM=) | `75.75% <ø> (-0.72%)` | :arrow_down: |
| [src/components/config/parse-text.ts](https://app.codecov.io/gh/hyperjumptech/monika/pull/1129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=hyperjumptech#diff-c3JjL2NvbXBvbmVudHMvY29uZmlnL3BhcnNlLXRleHQudHM=) | `81.81% <ø> (-1.52%)` | :arrow_down: |
| [src/jobs/tls-check.ts](https://app.codecov.io/gh/hyperjumptech/monika/pull/1129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=hyperjumptech#diff-c3JjL2pvYnMvdGxzLWNoZWNrLnRz) | `29.41% <ø> (ø)` | |
| [src/looper/index.ts](https://app.codecov.io/gh/hyperjumptech/monika/pull/1129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=hyperjumptech#diff-c3JjL2xvb3Blci9pbmRleC50cw==) | `61.29% <100.00%> (-14.08%)` | :arrow_down: |
| [src/index.ts](https://app.codecov.io/gh/hyperjumptech/monika/pull/1129?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=hyperjumptech#diff-c3JjL2luZGV4LnRz) | `50.41% <14.28%> (-2.74%)` | :arrow_down: |

:mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=hyperjumptech)


Patch:
diff --git a/monika.example.json b/monika.example.json
index 6cc68904..d423e450 100644
--- a/monika.example.json
+++ b/monika.example.json
@@ -27,9 +27,7 @@
           "assertion": "response.time > 150",
           "message": "response time message"
         }
-      ],
-      "incidentThreshold": 3,
-      "recoveryThreshold": 3
+      ]
     }
   ]
 }
diff --git a/monika.example.yml b/monika.example.yml
index 469f65d7..85441f2f 100644
--- a/monika.example.yml
+++ b/monika.example.yml
@@ -39,8 +39,6 @@ probes:
 #   alerts:
 #     - assertion: response.status == 500
 #       message: response status message
-#   incidentThreshold: 3
-#   recoveryThreshold: 3
 
 # Configuration example for sending Multiple requests
 # Requests could be define in array to run for multiple requests
@@ -88,8 +86,6 @@ probes:
 #         message: response status message
 #       - assertion: response.time > 150
 #         message: response time message
-#     incidentThreshold: 3
-#     recoveryThreshold: 3
 
 # Configuration example for enabling notification
 # Using this configuration Monika will check the page every 10 seconds
@@ -108,8 +104,6 @@ probes:
 #     alerts:
 #       - assertion: response.status == 500
 #         message: response status message
-#     incidentThreshold: 3
-#     recoveryThreshold: 3
 # notifications:
 #   - id: unique-id-smtp,
 #     type: smtp,
diff --git a/src/components/config/parse-insomnia.ts b/src/components/config/parse-insomnia.ts
index 0f3a39c2..7896ff87 100644
--- a/src/components/config/parse-insomnia.ts
+++ b/src/components/config/parse-insomnia.ts
@@ -22,12 +22,11 @@
  * SOFTWARE.                                                                      *
  **********************************************************************************/
 
-import { Config } from '../../interfaces/config'
+import type { Config } from '../../interfaces/config'
 import yml from 'js-yaml'
-import { Probe } from '../../interfaces/probe'
-import { DEFAULT_THRESHOLD } from '../../looper'
+import type { Probe } from '../../interfaces/probe'
 import { compile } from 'handlebars'
-import { AxiosRequestHeaders, Method } from 'axios'
+import type { AxiosRequestHeaders, Method } from 'axios'
 
 interface InsomniaResource {
   _id: string
@@ -132,8 +131,6 @@ function mapInsomniaRequestToConfig(res: InsomniaResource): Probe {
       },
     ],
     interval: 30,
-    incidentThreshold: DEFAULT_THRESHOLD,
-    recoveryThreshold: DEFAULT_THRESHOLD,
     alerts: [],
   }
 }
diff --git a/src/components/config/parse-postman.ts b/src/components/config/parse-postman.ts
index e7a31d0e..29c1c6f3 100644
--- a/src/components/config/parse-postman.ts
+++ b/src/components/config/parse-postman.ts
@@ -22,8 +22,7 @@
  * SOFTWARE.                                                                      *
  **********************************************************************************/
 
-import { Config } from '../../interfaces/config'
-import { DEFAULT_THRESHOLD } from '../../looper'
+import type { Config } from '../../interfaces/config'
 
 type CollectionVersion = 'v2.0' | 'v2.1'
 
@@ -107,8 +106,6 @@ const generateProbesFromConfig = (config: any, version: CollectionVersion) => {
       id: item?.name,
       name: item?.name,
       requests: generateRequests(item, version),
-      incidentThreshold: DEFAULT_THRESHOLD,
-      recoveryThreshold: DEFAULT_THRESHOLD,
       alerts: [],
     }
   })
diff --git a/src/components/config/parse-sitemap.ts b/src/components/config/parse-sitemap.ts
index c0aa1c90..13a03331 100644
--- a/src/components/config/parse-sitemap.ts
+++ b/src/components/config/parse-sitemap.ts
@@ -23,7 +23,6 @@
  **********************************************************************************/
 
 import type { Config } from '../../interfaces/config'
-import { DEFAULT_THRESHOLD } from '../../looper'
 import { XMLParser } from 'fast-xml-parser'
 import { monikaFlagsDefaultValue } from '../../context/monika-flags'
 import type { MonikaFlags } from '../../context/monika-flags'
@@ -52,8 +51,6 @@ const generateProbesFromXml = (config: any) => {
       id: item?.loc,
       name: item?.loc,
       requests: requests,
-      incidentThreshold: DEFAULT_THRESHOLD,
-      recoveryThreshold: DEFAULT_THRESHOLD,
       alerts: [],
     }
   })
@@ -95,8 +92,6 @@ const generateProbesFromXmlOneProbe = (config: any) => {
       name: url.host,
       requests: requests,
       interval: monikaFlagsDefaultValue['config-interval'],
-      incidentThreshold: DEFAULT_THRESHOLD,
-      recoveryThreshold: DEFAULT_THRESHOLD,
       alerts: [
         {
           assertion: 'response.status < 200 or response.status > 299',
diff --git a/src/components/config/parse-text.ts b/src/components/config/parse-text.ts
index eaac7dee..14cc0ace 100644
--- a/src/components/config/parse-text.ts
+++ b/src/components/config/parse-text.ts
@@ -48,7 +48,6 @@
 
 import type { Config } from '../../interfaces/config'
 import { monikaFlagsDefaultValue } from '../../context/monika-flags'
-import { DEFAULT_THRESHOLD } from '../../looper'
 import type { Probe, ProbeAlert } from '../../interfaces/probe'
 import { isValidURL } from '../../utils/is-valid-url'
 
@@ -70,8 +69,6 @@ export const parseConfigFromText = (configString: string): Config => {
               body: {} as JSON,
             },
           ],
-          incidentThreshold: DEFAULT_THRESHOLD,
-          recoveryThreshold: DEFAULT_THRESHOLD,
           interval: monikaFlagsDefaultValue['config-interval'],
           alerts: [
             {
diff --git a/src/index.ts b/src/index.ts
index 88df9578..3db8ff20 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -383,35 +383,66 @@ class Monika extends Command {
   }
 
   deprecationHandler(config: Config): Config {
-    let showDeprecateMsg = false
+    const showDeprecateMsg: Record<
+      'query' | 'incidentThreshold' | 'recoveryThreshold',
+      boolean
+    > = {
+      query: false,
+      incidentThreshold: false,
+      recoveryThreshold: false,
+    }
 
     const checkedConfig = {
       ...config,
-      probes: config.probes?.map((probe) => ({
-        ...probe,
-        requests: probe.requests?.map((request) => ({
-          ...request,
-          alert: request.alerts?.map((alert) => {
+      probes: config.probes?.map((probe) => {
+        if (probe?.incidentThreshold) {
+          showDeprecateMsg.incidentThreshold = true
+        }
+
+        if (probe?.recoveryThreshold) {
+          showDeprecateMsg.recoveryThreshold = true
+        }
+
+        return {
+          ...probe,
+          requests: probe.requests?.map((request) => {
+            return {
+              ...request,
+              alert: request.alerts?.map((alert) => {
+                if (alert.query) {
+                  showDeprecateMsg.query = true
+                  return { ...alert, assertion: alert.query }
+                }
+
+                return alert
+              }),
+            }
+          }),
+          alerts: probe.alerts?.map((alert) => {
             if (alert.query) {
-              showDeprecateMsg = true
+              showDeprecateMsg.query = true
               return { ...alert, assertion: alert.query }
             }
 
             return alert
           }),
-        })),
-        alerts: probe.alerts?.map((alert) => {
-          if (alert.query) {
-            showDeprecateMsg = true
-            return { ...alert, assertion: alert.query }
-          }
-
-          return alert
-        }),
-      })),
+        }
+      }),
+    }
+
+    if (showDeprecateMsg.incidentThreshold) {
+      log.warn(
+        'incidentThreshold is deprecated. It will be managed internally by Monika.'
+      )
+    }
+
+    if (showDeprecateMsg.recoveryThreshold) {
+      log.warn(
+        'recoveryThreshold is deprecated. It will be managed internally by Monika.'
+      )
     }
 
-    if (showDeprecateMsg) {
+    if (showDeprecateMsg.query) {
       log.warn('"alerts.query" is deprecated. Please use "alerts.assertion"')
     }
 
diff --git a/src/interfaces/probe.ts b/src/interfaces/probe.ts
index 25711fb2..61c5a7b7 100644
--- a/src/interfaces/probe.ts
+++ b/src/interfaces/probe.ts
@@ -97,8 +97,8 @@ export interface Probe {
   mysql?: MariaDB[]
   postgres?: Postgres[]
   ping?: Ping[]
-  incidentThreshold: number
-  recoveryThreshold: number
+  incidentThreshold?: number
+  recoveryThreshold?: number
   alerts: ProbeAlert[]
   lastEvent?: {
     createdAt?: Date
diff --git a/src/jobs/tls-check.ts b/src/jobs/tls-check.ts
index 51bd91fa..c848891b 100644
--- a/src/jobs/tls-check.ts
+++ b/src/jobs/tls-check.ts
@@ -86,8 +86,6 @@ function sendTLSErrorNotification({
     name: '',
     requests: [],
     interval: 10,
-    incidentThreshold: 0,
-    recoveryThreshold: 0,
     alerts: [],
   }
 
diff --git a/src/looper/index.ts b/src/looper/index.ts
index 79704e03..df39b9f8 100644
--- a/src/looper/index.ts
+++ b/src/looper/index.ts
@@ -36,7 +36,6 @@ import {
 import { getPublicIp, isConnectedToSTUNServer } from '../utils/public-ip'
 import type { RequestConfig } from '../interfaces/request'
 
-export const DEFAULT_THRESHOLD = 5
 let checkSTUNinterval: NodeJS.Timeout
 
 const DISABLE_STUN = -1 // -1 is disable stun checking
@@ -48,8 +47,7 @@ const DISABLE_STUN = -1 // -1 is disable stun checking
  * @returns {object} as probe
  */
 export function sanitizeProbe(isSymonMode: boolean, probe: Probe): Probe {
-  const { id, name, requests, incidentThreshold, recoveryThreshold, alerts } =
-    probe
+  const { id, name, requests, alerts } = probe
 
   if (!name) {
     log.warn(
@@ -57,18 +55,6 @@ export function sanitizeProbe(isSymonMode: boolean, probe: Probe): Probe {
     )
   }
 
-  if (!incidentThreshold) {
-    log.warn(
-      `Warning: Probe ${id} has no incidentThreshold configuration defined. Using the default threshold: 5`
-    )
-  }
-
-  if (!recoveryThreshold) {
-    log.warn(
-      `Warning: Probe ${id} has no recoveryThreshold configuration defined. Using the default threshold: 5`
-    )
-  }
-
   const isHTTPProbe = Boolean(requests)
   const isAlertsEmpty = alerts === undefined || alerts.length === 0
   if (!isSymonMode && isHTTPProbe && isAlertsEmpty) {
@@ -85,8 +71,6 @@ export function sanitizeProbe(isSymonMode: boolean, probe: Probe): Probe {
       isSymonMode,
     }),
     name: name || `monika_${id}`,
-    incidentThreshold: incidentThreshold || DEFAULT_THRESHOLD,
-    recoveryThreshold: recoveryThreshold || DEFAULT_THRESHOLD,
     requests: sanitizeRequests(requests),
   }
 }


Test patch:
diff --git a/prod_test/test.ts b/prod_test/test.ts
index 0d04f713..d51daf23 100644
--- a/prod_test/test.ts
+++ b/prod_test/test.ts
@@ -109,8 +109,6 @@ describe('CLI Testing', () => {
     - id: '1'
       name: Google
       interval: 1
-      incidentThreshold: 6
-      recoveryThreshold: 6
       requests:
         - url: https://google.com
   notifications:
@@ -122,15 +120,11 @@ describe('CLI Testing', () => {
     - id: '1'
       name: Google
       interval: 1
-      incidentThreshold: 6
-      recoveryThreshold: 6
       requests:
         - url: https://google.com
     - id: '2'
       name: Github
       interval: 1
-      incidentThreshold: 6
-      recoveryThreshold: 6
       requests:
         - url: https://github.com
   notifications:
diff --git a/src/components/config/__tests__/expected.insomnia.yml b/src/components/config/__tests__/expected.insomnia.yml
index 1b246e4c..e502785e 100644
--- a/src/components/config/__tests__/expected.insomnia.yml
+++ b/src/components/config/__tests__/expected.insomnia.yml
@@ -9,8 +9,6 @@ probes:
         timeout: 10000
         headers: {}
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee656d74493f
     name: Update user
@@ -31,8 +29,6 @@ probes:
         headers:
           Content-Type: application/json
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee6574f1d1d1
     name: Get user by user name
@@ -44,8 +40,6 @@ probes:
         timeout: 10000
         headers: {}
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee65740025cb
     name: Logs out current logged in user session
@@ -57,8 +51,6 @@ probes:
         timeout: 10000
         headers: {}
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee6500ac9da2
     name: Logs user into the system
@@ -70,8 +62,6 @@ probes:
         timeout: 10000
         headers: {}
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee65e94a615f
     name: Creates list of users with given input array
@@ -92,8 +82,6 @@ probes:
         headers:
           Content-Type: application/json
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee65fe3d55d0
     name: Create user
@@ -114,8 +102,6 @@ probes:
         headers:
           Content-Type: application/json
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee6515e47538
     name: Delete purchase order by ID
@@ -127,8 +113,6 @@ probes:
         timeout: 10000
         headers: {}
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee65f021bcd3
     name: Find purchase order by ID
@@ -140,8 +124,6 @@ probes:
         timeout: 10000
         headers: {}
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee65e24a4f9e
     name: Place an order for a pet
@@ -160,8 +142,6 @@ probes:
         headers:
           Content-Type: application/json
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee65443ac9e7
     name: Returns pet inventories by status
@@ -174,8 +154,6 @@ probes:
         headers:
           api_key: '{{ apiKey }}'
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee65e804bd05
     name: Deletes a pet
@@ -188,8 +166,6 @@ probes:
         headers:
           api_key: string
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee65a4608701
     name: Updates a pet in the store with form data
@@ -201,8 +177,6 @@ probes:
         timeout: 10000
         headers: {}
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee653d1a51d3
     name: Find pet by ID
@@ -215,8 +189,6 @@ probes:
         headers:
           api_key: '{{ apiKey }}'
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee6542a17980
     name: Finds Pets by tags
@@ -228,8 +200,6 @@ probes:
         timeout: 10000
         headers: {}
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee6580ab0d08
     name: Finds Pets by status
@@ -241,8 +211,6 @@ probes:
         timeout: 10000
         headers: {}
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee6574a7a059
     name: Update an existing pet
@@ -266,8 +234,6 @@ probes:
         headers:
           Content-Type: application/json
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: req_wrk_a255aeabb44240f5885e3360f9a6ee6523acbe44
     name: Add a new pet to the store
@@ -291,8 +257,6 @@ probes:
         headers:
           Content-Type: application/json
     interval: 30
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
 notifications:
   - id: default
diff --git a/src/components/config/__tests__/expected.sitemap-oneprobe.yml b/src/components/config/__tests__/expected.sitemap-oneprobe.yml
index a07aa5b1..0f83164b 100644
--- a/src/components/config/__tests__/expected.sitemap-oneprobe.yml
+++ b/src/components/config/__tests__/expected.sitemap-oneprobe.yml
@@ -18,8 +18,6 @@ probes:
         method: GET
         timeout: 10000
     interval: 900
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts:
       - assertion: response.status < 200 or response.status > 299
         message: HTTP Status is not 200
diff --git a/src/components/config/__tests__/expected.sitemap.yml b/src/components/config/__tests__/expected.sitemap.yml
index b976fe20..e2b12424 100644
--- a/src/components/config/__tests__/expected.sitemap.yml
+++ b/src/components/config/__tests__/expected.sitemap.yml
@@ -14,8 +14,6 @@ probes:
       - url: https://en.wiktionary.org/wiki/hyperjump
         method: GET
         timeout: 10000
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: https://monika.hyperjump.tech/index
     name: https://monika.hyperjump.tech/index
@@ -23,8 +21,6 @@ probes:
       - url: https://monika.hyperjump.tech/index
         method: GET
         timeout: 10000
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
 notifications:
   - id: default
diff --git a/src/components/config/__tests__/expected.textfile.yml b/src/components/config/__tests__/expected.textfile.yml
index 3e8b99fa..9143e99a 100644
--- a/src/components/config/__tests__/expected.textfile.yml
+++ b/src/components/config/__tests__/expected.textfile.yml
@@ -6,8 +6,6 @@ probes:
         method: GET
         timeout: 10000
         body: {}
-    incidentThreshold: 5
-    recoveryThreshold: 5
     interval: 900
     alerts:
       - assertion: response.status < 200 or response.status > 299
@@ -21,8 +19,6 @@ probes:
         method: GET
         timeout: 10000
         body: {}
-    incidentThreshold: 5
-    recoveryThreshold: 5
     interval: 900
     alerts:
       - assertion: response.status < 200 or response.status > 299
diff --git a/src/components/config/__tests__/mock_files/expected.postman-basic.yml b/src/components/config/__tests__/mock_files/expected.postman-basic.yml
index e59975dd..49169c28 100644
--- a/src/components/config/__tests__/mock_files/expected.postman-basic.yml
+++ b/src/components/config/__tests__/mock_files/expected.postman-basic.yml
@@ -6,8 +6,6 @@ probes:
         method: GET
         headers: {}
         timeout: 10000
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: '[BODY-FORMDATA] Hyperjump GitHub'
     name: '[BODY-FORMDATA] Hyperjump GitHub'
@@ -19,8 +17,6 @@ probes:
         timeout: 10000
         body:
           message: Hello, world!
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: '[BODY-URLENCODED] Hyperjump GitHub'
     name: '[BODY-URLENCODED] Hyperjump GitHub'
@@ -32,8 +28,6 @@ probes:
         timeout: 10000
         body:
           message: Hello, world!
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: '[BODY-RAW-TEXT] Hyperjump GitHub'
     name: '[BODY-RAW-TEXT] Hyperjump GitHub'
@@ -44,8 +38,6 @@ probes:
           Content-Type: text/plain
         timeout: 10000
         body: Hello, world!
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: '[BODY-RAW-JSON] Hyperjump GitHub'
     name: '[BODY-RAW-JSON] Hyperjump GitHub'
@@ -57,8 +49,6 @@ probes:
         timeout: 10000
         body:
           message: Hello, world!
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
 notifications:
   - id: default
diff --git a/src/components/config/__tests__/mock_files/expected.postman-grouped.yml b/src/components/config/__tests__/mock_files/expected.postman-grouped.yml
index 0d96c466..fcec540d 100644
--- a/src/components/config/__tests__/mock_files/expected.postman-grouped.yml
+++ b/src/components/config/__tests__/mock_files/expected.postman-grouped.yml
@@ -33,8 +33,6 @@ probes:
         timeout: 10000
         body:
           message: Hello, world!
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
   - id: Group2
     name: Group2
@@ -70,8 +68,6 @@ probes:
         timeout: 10000
         body:
           message: Hello, world!
-    incidentThreshold: 5
-    recoveryThreshold: 5
     alerts: []
 notifications:
   - id: default
diff --git a/src/components/config/index.test.ts b/src/components/config/index.test.ts
index 0ee026c7..603d0c77 100644
--- a/src/components/config/index.test.ts
+++ b/src/components/config/index.test.ts
@@ -63,8 +63,6 @@ describe('getConfig', () => {
           id: '1',
           name: 'example',
           interval: 1000,
-          incidentThreshold: 1,
-          recoveryThreshold: 1,
           alerts: [],
           requests: [{ body: '', url: 'https://example.com', timeout: 1000 }],
         },
@@ -154,8 +152,6 @@ describe('updateConfig', () => {
           name: '',
           interval: 1000,
           requests: [{ url: 'https://example.com', body: '', timeout: 1000 }],
-          incidentThreshold: 1,
-          recoveryThreshold: 1,
           alerts: [],
         },
       ],
@@ -186,8 +182,6 @@ describe('updateConfig', () => {
           name: '',
           interval: 1000,
           requests: [{ url: 'https://example.com', body: '', timeout: 1000 }],
-          incidentThreshold: 1,
-          recoveryThreshold: 1,
           alerts: [],
         },
       ],
diff --git a/src/components/config/sort.test.ts b/src/components/config/sort.test.ts
index ebd8490f..3e47836a 100644
--- a/src/components/config/sort.test.ts
+++ b/src/components/config/sort.test.ts
@@ -34,8 +34,6 @@ const probes: Probe[] = [
     name: 'Example',
     interval: 3000,
     requests: [],
-    incidentThreshold: 0,
-    recoveryThreshold: 0,
     alerts: [],
   },
   {
@@ -43,8 +41,6 @@ const probes: Probe[] = [
     name: 'Example 2',
     interval: 3000,
     requests: [],
-    incidentThreshold: 0,
-    recoveryThreshold: 0,
     alerts: [],
   },
 ]
diff --git a/src/components/logger/startup-message.test.ts b/src/components/logger/startup-message.test.ts
index d0233ba5..848fa692 100644
--- a/src/components/logger/startup-message.test.ts
+++ b/src/components/logger/startup-message.test.ts
@@ -39,8 +39,6 @@ const defaultConfig: Config = {
       requests: [
         { url: 'https://example.com', headers: {}, body: '', timeout: 0 },
       ],
-      incidentThreshold: 1,
-      recoveryThreshold: 1,
       alerts: [],
     },
   ],
@@ -191,8 +189,6 @@ describe('Startup message', () => {
                 name: 'Acme Inc.',
                 interval: 3000,
                 requests: [],
-                incidentThreshold: 1,
-                recoveryThreshold: 1,
                 alerts: [],
               },
             ],
@@ -241,8 +237,6 @@ describe('Startup message', () => {
                     timeout: 0,
                   },
                 ],
-                incidentThreshold: 1,
-                recoveryThreshold: 1,
                 alerts: [],
               },
             ],
diff --git a/src/components/probe/index.test.ts b/src/components/probe/index.test.ts
index a80814cb..0d1d0ce9 100644
--- a/src/components/probe/index.test.ts
+++ b/src/components/probe/index.test.ts
@@ -71,8 +71,6 @@ const probes: Probe[] = [
         timeout: 30,
       },
     ],
-    incidentThreshold: 1,
-    recoveryThreshold: 1,
     alerts: [],
   },
 ]
diff --git a/src/looper/index.test.ts b/src/looper/index.test.ts
index 51fb57fa..aac48374 100644
--- a/src/looper/index.test.ts
+++ b/src/looper/index.test.ts
@@ -22,8 +22,8 @@
  * SOFTWARE.                                                                      *
  **********************************************************************************/
 
-import { expect } from 'chai'
-import { DEFAULT_THRESHOLD, sanitizeProbe } from '.'
+import { expect } from '@oclif/test'
+import { sanitizeProbe } from '.'
 import type { Probe } from '../interfaces/probe'
 
 describe('Looper', () => {
@@ -94,38 +94,6 @@ describe('Looper', () => {
       expect(result.name).eq('monika_Example')
     })
 
-    it('should set default incidentThreshold', () => {
-      // arrange
-      const probe = {
-        id: 'Example',
-        requests: [
-          { method: 'GET', alerts: [{ query: 'response.status < 200' }] },
-        ],
-      } as Probe
-
-      // act
-      const result = sanitizeProbe(false, probe)
-
-      // assert
-      expect(result.incidentThreshold).eq(DEFAULT_THRESHOLD)
-    })
-
-    it('should set default recoveryThreshold', () => {
-      // arrange
-      const probe = {
-        id: 'Example',
-        requests: [
-          { method: 'GET', alerts: [{ query: 'response.status < 200' }] },
-        ],
-      } as Probe
-
-      // act
-      const result = sanitizeProbe(false, probe)
-
-      // assert
-      expect(result.recoveryThreshold).eq(DEFAULT_THRESHOLD)
-    })
-
     it('should set default alerts for HTTP probe', () => {
       // arrange
       const probe = {
diff --git a/src/plugins/metrics/prometheus/collector.test.ts b/src/plugins/metrics/prometheus/collector.test.ts
index b58e5fed..a6af72a1 100644
--- a/src/plugins/metrics/prometheus/collector.test.ts
+++ b/src/plugins/metrics/prometheus/collector.test.ts
@@ -62,8 +62,6 @@ describe('Prometheus collector', () => {
               timeout: 0,
             },
           ],
-          incidentThreshold: 0,
-          recoveryThreshold: 0,
           alerts: [
             {
               id: 'fKBzx',
@@ -101,8 +99,6 @@ describe('Prometheus collector', () => {
           name: '',
           interval: 0,
           requests: [],
-          incidentThreshold: 0,
-          recoveryThreshold: 0,
           alerts: [{ id: 'fKBzx', assertion: '', message: '' }],
         },
         requestIndex: 0,
@@ -133,8 +129,6 @@ describe('Prometheus collector', () => {
           id: '',
           name: '',
           interval: 0,
-          incidentThreshold: 0,
-          recoveryThreshold: 0,
           alerts: [
             {
               assertion: '',
@@ -179,8 +173,6 @@ describe('Prometheus collector', () => {
               timeout: 0,
             },
           ],
-          incidentThreshold: 0,
-          recoveryThreshold: 0,
           alerts: [{ id: 'fKBzx', assertion: '', message: '' }],
         },
         requestIndex: 0,
@@ -206,8 +198,6 @@ describe('Prometheus collector', () => {
           name: '',
           interval: 0,
           requests: [],
-          incidentThreshold: 0,
-          recoveryThreshold: 0,
           alerts: [{ id: 'fKBzx', assertion: '', message: '' }],
         },
         requestIndex: 0,
@@ -230,8 +220,6 @@ describe('Prometheus collector', () => {
           id: '',
           name: '',
           interval: 0,
-          incidentThreshold: 0,
-          recoveryThreshold: 0,
           alerts: [
             {
               assertion: '',
diff --git a/src/symon/index.test.ts b/src/symon/index.test.ts
index 749636a1..b4be6ceb 100644
--- a/src/symon/index.test.ts
+++ b/src/symon/index.test.ts
@@ -83,8 +83,6 @@ describe('Symon initiate', () => {
           name: 'test',
           interval: 10,
           requests: [],
-          incidentThreshold: 5,
-          recoveryThreshold: 5,
           alerts: [],
         },
       ],
@@ -160,8 +158,6 @@ describe('Symon initiate', () => {
           name: 'test',
           interval: 10,
           requests: [],
-          incidentThreshold: 5,
-          recoveryThreshold: 5,
           alerts: [],
         },
       ],
diff --git a/src/utils/probe-state.test.ts b/src/utils/probe-state.test.ts
index 7edcc8de..5a0a84bb 100644
--- a/src/utils/probe-state.test.ts
+++ b/src/utils/probe-state.test.ts
@@ -52,10 +52,8 @@ describe('probe-state', () => {
         {
           alerts: [],
           id: '1',
-          incidentThreshold: 1,
           interval: 1,
           name: 'Example',
-          recoveryThreshold: 1,
           requests: [{ url: 'https://example.com', body: '', timeout: 2 }],
         },
       ]
@@ -79,10 +77,8 @@ describe('probe-state', () => {
         {
           alerts: [],
           id: '1',
-          incidentThreshold: 1,
           interval: 1,
           name: 'Example',
-          recoveryThreshold: 1,
           requests: [{ url: 'https://example.com', body: '', timeout: 2 }],
           lastEvent: {
             createdAt: lastEventCreatedAt,
@@ -111,10 +107,8 @@ describe('probe-state', () => {
         {
           alerts: [],
           id: '1',
-          incidentThreshold: 1,
           interval: 1,
           name: 'Example',
-          recoveryThreshold: 1,
           requests: [{ url: 'https://example.com', body: '', timeout: 2 }],
           lastEvent: {
             recoveredAt: lastEventCreatedAt,
@@ -141,10 +135,8 @@ describe('probe-state', () => {
         {
           alerts: [],
           id: '1',
-          incidentThreshold: 1,
           interval: 1,
           name: 'Example',
-          recoveryThreshold: 1,
           requests: [{ url: 'https://example.com', body: '', timeout: 2 }],
           lastEvent: {
             createdAt: lastEventCreatedAt,
@@ -173,10 +165,8 @@ describe('probe-state', () => {
         {
           alerts: [],
           id: '1',
-          incidentThreshold: 1,
           interval: 1,
           name: 'Example',
-          recoveryThreshold: 1,
           requests: [{ url: 'https://example.com', body: '', timeout: 2 }],
         },
       ]
@@ -195,10 +185,8 @@ describe('probe-state', () => {
         {
           alerts: [],
           id: '1',
-          incidentThreshold: 1,
           interval: 1,
           name: 'Example',
-          recoveryThreshold: 1,
           requests: [{ url: 'https://example.com', body: '', timeout: 2 }],
         },
       ]
@@ -218,10 +206,8 @@ describe('probe-state', () => {
         {
           alerts: [],
           id: '1',
-          incidentThreshold: 1,
           interval: 1,
           name: 'Example',
-          recoveryThreshold: 1,
           requests: [{ url: 'https://example.com', body: '', timeout: 2 }],
         },
       ]
@@ -240,10 +226,8 @@ describe('probe-state', () => {
         {
           alerts: [],
           id: '1',
-          incidentThreshold: 1,
           interval: 1,
           name: 'Example',
-          recoveryThreshold: 1,
           requests: [{ url: 'https://example.com', body: '', timeout: 2 }],
         },
       ]
@@ -262,10 +246,8 @@ describe('probe-state', () => {
         {
           alerts: [],
           id: '1',
-          incidentThreshold: 1,
           interval: 1,
           name: 'Example',
-          recoveryThreshold: 1,
           requests: [{ url: 'https://example.com', body: '', timeout: 2 }],
         },
       ]
@@ -285,10 +267,8 @@ describe('probe-state', () => {
         {
           alerts: [],
           id: '1',
-          incidentThreshold: 1,
           interval: 1,
           name: 'Example',
-          recoveryThreshold: 1,
           requests: [{ url: 'https://example.com', body: '', timeout: 2 }],
         },
       ]
@@ -310,10 +290,8 @@ describe('probe-state', () => {
         {
           alerts: [],
           id: '1',
-          incidentThreshold: 1,
           interval: 1,
           name: 'Example',
-          recoveryThreshold: 1,
           requests: [{ url: 'https://example.com', body: '', timeout: 2 }],
         },
       ]
@@ -334,10 +312,8 @@ describe('probe-state', () => {
         {
           alerts: [],
           id: '1',
-          incidentThreshold: 1,
           interval: 1,
           name: 'Example',
-          recoveryThreshold: 1,
           requests: [{ url: 'https://example.com', body: '', timeout: 2 }],
         },
       ]
@@ -358,10 +334,8 @@ describe('probe-state', () => {
         {
           alerts: [],
           id: '1',
-          incidentThreshold: 1,
           interval: 1,
           name: 'Example',
-          recoveryThreshold: 1,
           requests: [{ url: 'https://example.com', body: '', timeout: 2 }],
         },
       ]
diff --git a/test/bats/cli.bats b/test/bats/cli.bats
index fffabccd..2a36a3f3 100644
--- a/test/bats/cli.bats
+++ b/test/bats/cli.bats
@@ -40,8 +40,6 @@ function setup() {
 
     assert_success
     assert_output --partial 'Warning: Probe 1 has no name defined'
-    assert_output --partial 'Warning: Probe 1 has no incidentThreshold configuration defined'
-    assert_output --partial 'Warning: Probe 1 has no recoveryThreshold configuration defined'
     assert_output --partial 'Warning: Probe 1 has no Alerts configuration defined'
 }
 
diff --git a/test/json-schema/config-schema.test.ts b/test/json-schema/config-schema.test.ts
index 9628c993..b56307c0 100644
--- a/test/json-schema/config-schema.test.ts
+++ b/test/json-schema/config-schema.test.ts
@@ -66,14 +66,6 @@ describe('json schema validation tests', () => {
     expect(isValid).to.be.false
   })
 
-  it('should detect bad probe.incidentThreshold.type', () => {
-    const badType = yaml.load(
-      fs.readFileSync('./test/json-schema/test-configs/bad-type.yml', 'utf8')
-    )
-    const isValid = validate(badType)
-    expect(isValid).to.be.false
-  })
-
   it('should detect missing probe.alert.assertion', () => {
     const badQuery = yaml.load(
       fs.readFileSync(
diff --git a/test/json-schema/test-configs/bad-assertion.yml b/test/json-schema/test-configs/bad-assertion.yml
index 372ec2a5..15f7f012 100644
--- a/test/json-schema/test-configs/bad-assertion.yml
+++ b/test/json-schema/test-configs/bad-assertion.yml
@@ -33,8 +33,6 @@ probes:
     alerts:
       - bad_assertion: response.status != 200
         message: response status message
-    incidentThreshold: 1
-    recoveryThreshold: 1
 
 notifications:
   - id: my-desktop-notif
diff --git a/test/json-schema/test-configs/bad-notif-url.yml b/test/json-schema/test-configs/bad-notif-url.yml
index 725d5de1..5be2ff66 100644
--- a/test/json-schema/test-configs/bad-notif-url.yml
+++ b/test/json-schema/test-configs/bad-notif-url.yml
@@ -33,8 +33,6 @@ probes:
     alerts:
       - assertion: response.status != 200
         message: response status message
-    incidentThreshold: 1
-    recoveryThreshold: 1
 
 notifications:
   - id: 123-123
diff --git a/test/json-schema/test-configs/bad-probe-extra.yml b/test/json-schema/test-configs/bad-probe-extra.yml
index 6110232d..c434a531 100644
--- a/test/json-schema/test-configs/bad-probe-extra.yml
+++ b/test/json-schema/test-configs/bad-probe-extra.yml
@@ -34,8 +34,6 @@ probes:
     alerts:
       - assertion: response.status != 200
         message: response status message
-    incidentThreshold: 1
-    recoveryThreshold: 1
 
 notifications:
   - id: my-desktop-notif
diff --git a/test/json-schema/test-configs/bad-probe.yml b/test/json-schema/test-configs/bad-probe.yml
index 1e84769c..45223ab7 100644
--- a/test/json-schema/test-configs/bad-probe.yml
+++ b/test/json-schema/test-configs/bad-probe.yml
@@ -32,8 +32,6 @@ probes:
     alerts:
       - assertion: response.status != 200
         message: response status message
-    incidentThreshold: 1
-    recoveryThreshold: 1
 
 notifications:
   - id: my-desktop-notif
diff --git a/test/json-schema/test-configs/bad-request.yml b/test/json-schema/test-configs/bad-request.yml
index c1c35d8d..e65fa1d8 100644
--- a/test/json-schema/test-configs/bad-request.yml
+++ b/test/json-schema/test-configs/bad-request.yml
@@ -32,8 +32,6 @@ probes:
     alerts:
       - assertion: response.status != 200
         message: response status message
-    incidentThreshold: 1
-    recoveryThreshold: 1
 
 notifications:
   - id: my-desktop-notif
diff --git a/test/json-schema/test-configs/bad-type.yml b/test/json-schema/test-configs/bad-type.yml
deleted file mode 100644
index 3d994bc5..00000000
--- a/test/json-schema/test-configs/bad-type.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-# ********************************************************************************
-#  MIT License
-#
-#  Copyright (c) 2022 Hyperjump Technology
-#
-#  Permission is hereby granted, free of charge, to any person obtaining a copy
-#  of this software and associated documentation files (the "Software"), to deal
-#  in the Software without restriction, including without limitation the rights
-#  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-#  copies of the Software, and to permit persons to whom the Software is
-#  furnished to do so, subject to the following conditions:
-#
-#  The above copyright notice and this permission notice shall be included in all
-#  copies or substantial portions of the Software.
-#
-#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-#  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-#  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-#  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-#  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-#  SOFTWARE.
-# ********************************************************************************
-
-probes:
-  - id: 'my-id-123'
-    name: httpbin_200
-    description: return 200
-    requests:
-      - url: 'https://google.com'
-        method: GET
-        timeout: 3000
-    alerts:
-      - assertion: response.status != 200
-        message: response status message
-    incidentThreshold: 1
-    recoveryThreshold: '1'
-
-notifications:
-  - id: my-desktop-notif
-    type: desktop
diff --git a/test/json-schema/test-configs/bad-url-format.yml b/test/json-schema/test-configs/bad-url-format.yml
index 198fb4c5..d8d3f4db 100644
--- a/test/json-schema/test-configs/bad-url-format.yml
+++ b/test/json-schema/test-configs/bad-url-format.yml
@@ -33,8 +33,6 @@ probes:
     alerts:
       - assertion: response.status != 200
         message: response status message
-    incidentThreshold: 1
-    recoveryThreshold: 1
 
 notifications:
   - id: 123-123
diff --git a/test/json-schema/test-configs/body-headers.yml b/test/json-schema/test-configs/body-headers.yml
index ac474460..0f2c0524 100644
--- a/test/json-schema/test-configs/body-headers.yml
+++ b/test/json-schema/test-configs/body-headers.yml
@@ -45,8 +45,6 @@ probes:
     alerts:
       - assertion: response.status != 200
         message: response status message
-    incidentThreshold: 1
-    recoveryThreshold: 1
 
 notifications:
   - id: my-desktop-notif
diff --git a/test/others/change-config-loop.ts b/test/others/change-config-loop.ts
index 0f7dc466..b11a6480 100644
--- a/test/others/change-config-loop.ts
+++ b/test/others/change-config-loop.ts
@@ -43,8 +43,6 @@ probes:
       - assertion: response.status == 500
         subject: response status
         message: response status message
-    incidentThreshold: 3
-    recoveryThreshold: 3
 
 notifications:
   - id: my-desktop
@@ -65,8 +63,6 @@ probes:
       - assertion: response.status == 500
         subject: response status
         message: response status message
-    incidentThreshold: 3
-    recoveryThreshold: 3
 
 notifications:
   - id: my-desktop
diff --git a/test/testConfigs/discord/discordconfig.yml b/test/testConfigs/discord/discordconfig.yml
index c610370b..343983d6 100644
--- a/test/testConfigs/discord/discordconfig.yml
+++ b/test/testConfigs/discord/discordconfig.yml
@@ -10,8 +10,6 @@ probes:
     interval: 10
     requests:
       - url: https://something/
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - assertion: response.status != 200
         message: Http Response status code is not 200!
diff --git a/test/testConfigs/fullConfig.yml b/test/testConfigs/fullConfig.yml
index 1912858e..4d23d59c 100644
--- a/test/testConfigs/fullConfig.yml
+++ b/test/testConfigs/fullConfig.yml
@@ -55,8 +55,6 @@ probes:
         body:
           username: someusername
           password: somepassword
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - assertion: response.status != 200
         message: Http Response status code is not 200!
diff --git a/test/testConfigs/googlechat/googleChatConfig.yml b/test/testConfigs/googlechat/googleChatConfig.yml
index 165b2a93..054099e7 100644
--- a/test/testConfigs/googlechat/googleChatConfig.yml
+++ b/test/testConfigs/googlechat/googleChatConfig.yml
@@ -16,8 +16,6 @@ probes:
         body:
           username: someusername
           password: somepassword
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - status-not-2xx
       - response-time-greater-than-200-ms
diff --git a/test/testConfigs/invalidNotificationType.yml b/test/testConfigs/invalidNotificationType.yml
index 8eda6c75..a897b39f 100644
--- a/test/testConfigs/invalidNotificationType.yml
+++ b/test/testConfigs/invalidNotificationType.yml
@@ -15,8 +15,6 @@ probes:
         body:
           username: someusername
           password: somepassword
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - status-not-2xx
       - response-time-greater-than-200-ms
diff --git a/test/testConfigs/lark/larkConfig.yml b/test/testConfigs/lark/larkConfig.yml
index 320b2701..8946b1d5 100644
--- a/test/testConfigs/lark/larkConfig.yml
+++ b/test/testConfigs/lark/larkConfig.yml
@@ -16,8 +16,6 @@ probes:
         body:
           username: someusername
           password: somepassword
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - status-not-2xx
       - response-time-greater-than-200-ms
diff --git a/test/testConfigs/mailgun/mailgunconfig.yml b/test/testConfigs/mailgun/mailgunconfig.yml
index de18df7e..9161afdb 100644
--- a/test/testConfigs/mailgun/mailgunconfig.yml
+++ b/test/testConfigs/mailgun/mailgunconfig.yml
@@ -19,8 +19,6 @@ probes:
         body:
           username: someusername
           password: somepassword
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - assertion: response.status != 200
         message: Http Response status code is not 200!
diff --git a/test/testConfigs/monika-notif/monikaNotifconfig.yml b/test/testConfigs/monika-notif/monikaNotifconfig.yml
index d2329106..86253615 100644
--- a/test/testConfigs/monika-notif/monikaNotifconfig.yml
+++ b/test/testConfigs/monika-notif/monikaNotifconfig.yml
@@ -16,8 +16,6 @@ probes:
         body:
           username: someusername
           password: somepassword
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - assertion: response.status != 200
         message: Http Response status code is not 200!
diff --git a/test/testConfigs/noNotifications.yml b/test/testConfigs/noNotifications.yml
index bea811e9..68ea088b 100644
--- a/test/testConfigs/noNotifications.yml
+++ b/test/testConfigs/noNotifications.yml
@@ -11,8 +11,6 @@ probes:
         body:
           username: someusername
           password: somepassword
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - status-not-2xx
       - response-time-greater-than-200-ms
diff --git a/test/testConfigs/probes/chainingRequests.yml b/test/testConfigs/probes/chainingRequests.yml
index a56b57dc..f9efcbae 100644
--- a/test/testConfigs/probes/chainingRequests.yml
+++ b/test/testConfigs/probes/chainingRequests.yml
@@ -13,8 +13,6 @@ probes:
       - method: GET
         url: https://reqres.in/api/users/{{ responses.[0].data.data.[1].id }}
         timeout: 1000
-    incidentThreshold: 3
-    recoveryThreshold: 3
     alerts:
       - assertion: response.status != 200
         message: Http Response status code is not 200!
diff --git a/test/testConfigs/probes/invalidProbeRequestAlert.yml b/test/testConfigs/probes/invalidProbeRequestAlert.yml
index d3e86bfa..009d830d 100644
--- a/test/testConfigs/probes/invalidProbeRequestAlert.yml
+++ b/test/testConfigs/probes/invalidProbeRequestAlert.yml
@@ -15,8 +15,6 @@ probes:
         body:
           username: someusername
           password: somepassword
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - status-not-2xx
       - response-time-lower-than-200-ms
diff --git a/test/testConfigs/probes/invalidProbeRequestMethod.yml b/test/testConfigs/probes/invalidProbeRequestMethod.yml
index 5de6151d..e3f4f8c1 100644
--- a/test/testConfigs/probes/invalidProbeRequestMethod.yml
+++ b/test/testConfigs/probes/invalidProbeRequestMethod.yml
@@ -15,8 +15,6 @@ probes:
         body:
           username: someusername
           password: somepassword
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - status-not-2xx
       - response-time-greater-than-200-ms
diff --git a/test/testConfigs/probes/invalidProbeRequestURL.yml b/test/testConfigs/probes/invalidProbeRequestURL.yml
index e55c4ef1..da5bbafe 100644
--- a/test/testConfigs/probes/invalidProbeRequestURL.yml
+++ b/test/testConfigs/probes/invalidProbeRequestURL.yml
@@ -15,8 +15,6 @@ probes:
         body:
           username: someusername
           password: somepassword
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - status-not-2xx
       - response-time-greater-than-200-ms
diff --git a/test/testConfigs/probes/multipleProbeRequests.yml b/test/testConfigs/probes/multipleProbeRequests.yml
index 0b4db368..6ec82164 100644
--- a/test/testConfigs/probes/multipleProbeRequests.yml
+++ b/test/testConfigs/probes/multipleProbeRequests.yml
@@ -10,8 +10,6 @@ probes:
       - method: GET
         url: https://github.com/hyperjumptech
         timeout: 1000
-    incidentThreshold: 3
-    recoveryThreshold: 3
     alerts:
       - assertion: response.status != 200
         message: Http Response status code is not 200!
diff --git a/test/testConfigs/probes/objectProbeRequestAlert.yml b/test/testConfigs/probes/objectProbeRequestAlert.yml
index a5b8fa50..6d2e75ba 100644
--- a/test/testConfigs/probes/objectProbeRequestAlert.yml
+++ b/test/testConfigs/probes/objectProbeRequestAlert.yml
@@ -9,8 +9,6 @@ probes:
     description: Probe
     requests:
       - url: https://something/something
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - assertion: size(response.body.data) > 0
         message: ''
diff --git a/test/testConfigs/probes/stringProbeRequestAlert.yml b/test/testConfigs/probes/stringProbeRequestAlert.yml
index 815c01c5..6c155756 100644
--- a/test/testConfigs/probes/stringProbeRequestAlert.yml
+++ b/test/testConfigs/probes/stringProbeRequestAlert.yml
@@ -9,8 +9,6 @@ probes:
     description: Probe
     requests:
       - url: https://something/something
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - assertion: response.status != 200
         message: Http Response status code is not 200!
diff --git a/test/testConfigs/sendgrid/sendgridconfig.yml b/test/testConfigs/sendgrid/sendgridconfig.yml
index 6440f753..5683c14f 100644
--- a/test/testConfigs/sendgrid/sendgridconfig.yml
+++ b/test/testConfigs/sendgrid/sendgridconfig.yml
@@ -19,8 +19,6 @@ probes:
         body:
           username: someusername
           password: somepassword
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - assertion: response.status != 200
         message: Http Response status code is not 200!
diff --git a/test/testConfigs/simple-1p-1n.yaml b/test/testConfigs/simple-1p-1n.yaml
index 200bebfc..80e054a1 100644
--- a/test/testConfigs/simple-1p-1n.yaml
+++ b/test/testConfigs/simple-1p-1n.yaml
@@ -12,8 +12,6 @@ probes:
     interval: 10
     requests:
       - url: http://httpbin.org/status/200
-    incidentThreshold: 3
-    recoveryThreshold: 3
     alerts:
       - assertion: response.status != 200
         message: didn't get 200!
diff --git a/test/testConfigs/simple-1p-2n.yaml b/test/testConfigs/simple-1p-2n.yaml
index baad1202..a34c6199 100644
--- a/test/testConfigs/simple-1p-2n.yaml
+++ b/test/testConfigs/simple-1p-2n.yaml
@@ -16,5 +16,3 @@ probes:
         message: HTTP Status is not 200
       - assertion: response.time > 2000
         message: Response time is more than 2000ms
-    incidentThreshold: 3
-    recoveryThreshold: 3
diff --git a/test/testConfigs/smtp/smtpconfig.yml b/test/testConfigs/smtp/smtpconfig.yml
index 7232675c..2dae7f46 100644
--- a/test/testConfigs/smtp/smtpconfig.yml
+++ b/test/testConfigs/smtp/smtpconfig.yml
@@ -21,8 +21,6 @@ probes:
         body:
           username: someusername
           password: somepassword
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - assertion: response.status != 200
         message: Http Response status code is not 200!
diff --git a/test/testConfigs/webhook/webhookconfig.yml b/test/testConfigs/webhook/webhookconfig.yml
index 44553ffc..2bbeb04a 100644
--- a/test/testConfigs/webhook/webhookconfig.yml
+++ b/test/testConfigs/webhook/webhookconfig.yml
@@ -16,8 +16,6 @@ probes:
         body:
           username: someusername
           password: somepassword
-    incidentThreshold: 2
-    recoveryThreshold: 2
     alerts:
       - assertion: response.status != 200
         message: Http Response status code is not 200!