| #!api-testing |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| # yaml-language-server: $schema=https://linuxsuren.github.io/api-testing/api-testing-schema.json |
| name: hertzbeat |
| api: | |
| {{default "http://localhost:1157" (env "SERVER")}} |
| param: |
| monitorHTTP: "{{randAlpha 6}}" |
| monitorSiteMap: "{{randAlpha 6}}" |
| monitorPort: "{{randAlpha 6}}" |
| monitorSSL: "{{randAlpha 6}}" |
| monitorPing: "{{randAlpha 6}}" |
| monitorUDP: "{{randAlpha 6}}" |
| monitorWebsite: "{{randAlpha 6}}" |
| monitorFTP: "{{randAlpha 6}}" |
| tagName: "{{randAlpha 3}}" |
| items: |
| - name: login |
| request: |
| api: /api/account/auth/form |
| method: POST |
| header: |
| Content-type: application/json |
| body: | |
| { |
| "type": 0, |
| "identifier": "admin", |
| "credential": "hertzbeat" |
| } |
| expect: |
| bodyFieldsExpect: |
| code: "0" |
| - name: login-missing-content-type |
| request: |
| api: /api/account/auth/form |
| method: POST |
| body: | |
| { |
| "type": 0, |
| "identifier": "admin", |
| "credential": "hertzbeat" |
| } |
| expect: |
| statusCode: 409 |
| - name: monitorList |
| request: |
| api: /api/monitors?pageIndex=0&pageSize=8 |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| expect: |
| bodyFieldsExpect: |
| code: "0" |
| - name: missing-auth-header |
| request: |
| api: /api/monitors |
| expect: |
| statusCode: 401 |
| - name: createSitemapMonitor |
| request: |
| api: /api/monitor |
| method: POST |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| Content-type: application/json |
| bodyFromFile: data/monitor-sitemap.json |
| - name: listSitemapMonitor |
| request: |
| api: /api/monitors?pageIndex=0&pageSize=8&app=fullsite |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: cancelSitemapMonitor |
| request: |
| api: /api/monitors/manage?ids={{(index .listSitemapMonitor.data.content 0).id | int64}} |
| query: |
| type: JSON |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: deleteSitemapMonitor |
| request: |
| api: /api/monitors?ids={{(index .listSitemapMonitor.data.content 0).id | int64}} |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| |
| - name: createPortMonitor |
| request: |
| api: /api/monitor |
| method: POST |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| Content-type: application/json |
| bodyFromFile: data/monitor-port.json |
| - name: listPortMonitor |
| request: |
| api: /api/monitors?pageIndex=0&pageSize=8&app=port |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: cancelPortMonitor |
| request: |
| api: /api/monitors/manage?ids={{(index .listPortMonitor.data.content 0).id | int64}} |
| query: |
| type: JSON |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: deletePortMonitor |
| request: |
| api: /api/monitors?ids={{(index .listPortMonitor.data.content 0).id | int64}} |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| |
| - name: createSSLMonitor |
| request: |
| api: /api/monitor |
| method: POST |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| Content-type: application/json |
| bodyFromFile: data/monitor-ssl.json |
| - name: listSSLMonitor |
| request: |
| api: /api/monitors?pageIndex=0&pageSize=8&app=ssl_cert |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: cancelSSLMonitor |
| request: |
| api: /api/monitors/manage?ids={{(index .listSSLMonitor.data.content 0).id | int64}} |
| query: |
| type: JSON |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: deleteSSLMonitor |
| request: |
| api: /api/monitors?ids={{(index .listSSLMonitor.data.content 0).id | int64}} |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| |
| - name: createPingMonitor |
| request: |
| api: /api/monitor |
| method: POST |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| Content-type: application/json |
| bodyFromFile: data/monitor-ping.json |
| - name: listPingMonitor |
| request: |
| api: /api/monitors?pageIndex=0&pageSize=8&app=ping |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: cancelPingMonitor |
| request: |
| api: /api/monitors/manage?ids={{(index .listPingMonitor.data.content 0).id | int64}} |
| query: |
| type: JSON |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: deletePingMonitor |
| request: |
| api: /api/monitors?ids={{(index .listPingMonitor.data.content 0).id | int64}} |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| |
| - name: createUDPMonitor |
| request: |
| api: /api/monitor |
| method: POST |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| Content-type: application/json |
| bodyFromFile: data/monitor-udp.json |
| - name: listUDPMonitor |
| request: |
| api: /api/monitors?pageIndex=0&pageSize=8&app=udp_port |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: cancelUDPMonitor |
| request: |
| api: /api/monitors/manage?ids={{(index .listUDPMonitor.data.content 0).id | int64}} |
| query: |
| type: JSON |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: deleteUDPMonitor |
| request: |
| api: /api/monitors?ids={{(index .listUDPMonitor.data.content 0).id | int64}} |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| |
| - name: createWebsiteMonitor |
| request: |
| api: /api/monitor |
| method: POST |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| Content-type: application/json |
| bodyFromFile: data/monitor-website.json |
| - name: listWebsiteMonitor |
| request: |
| api: /api/monitors?pageIndex=0&pageSize=8&app=website |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: cancelWebsiteMonitor |
| request: |
| api: /api/monitors/manage?ids={{(index .listWebsiteMonitor.data.content 0).id | int64}} |
| query: |
| type: JSON |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: deleteWebsiteMonitor |
| request: |
| api: /api/monitors?ids={{(index .listWebsiteMonitor.data.content 0).id | int64}} |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| |
| - name: createFTPMonitor |
| request: |
| api: /api/monitor |
| method: POST |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| Content-type: application/json |
| bodyFromFile: data/monitor-ftp.json |
| - name: listFTPMonitor |
| request: |
| api: /api/monitors?pageIndex=0&pageSize=8&app=ftp |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: cancelFTPMonitor |
| request: |
| api: /api/monitors/manage?ids={{(index .listFTPMonitor.data.content 0).id | int64}} |
| query: |
| type: JSON |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: deleteFTPMonitor |
| request: |
| api: /api/monitors?ids={{(index .listFTPMonitor.data.content 0).id | int64}} |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| |
| - name: createHTTPMonitor |
| request: |
| api: /api/monitor |
| method: POST |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| Content-type: application/json |
| bodyFromFile: data/monitor-http.json |
| - name: listHTTPMonitor |
| request: |
| api: /api/monitors?pageIndex=0&pageSize=8&app=api |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: cancelHTTPMonitor |
| request: |
| api: /api/monitors/manage?ids={{(index .listHTTPMonitor.data.content 0).id | int64}} |
| query: |
| type: JSON |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: deleteHTTPMonitor |
| request: |
| api: /api/monitors?ids={{(index .listHTTPMonitor.data.content 0).id | int64}} |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| |
| - name: listAlertDefines |
| request: |
| api: /api/alert/defines |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: deleteAlertDefine |
| request: |
| api: /api/alert/defines?ids=1 |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: listAlertGroupConverges |
| request: |
| api: /api/alert/groups |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: listAlertSilences |
| request: |
| api: /api/alert/silences |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: listGroupAlerts |
| request: |
| api: /api/alerts/group |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: listReceivers |
| request: |
| api: /api/notice/receivers |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: listRules |
| request: |
| api: /api/notice/rules |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: listTemplates |
| request: |
| api: /api/notice/templates |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: listCollectors |
| request: |
| api: /api/collector |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| |
| ## Tag |
| - name: createTag |
| request: |
| api: /api/tag |
| method: POST |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| Content-type: application/json |
| body: | |
| [ |
| { |
| "color": "#ff4081", |
| "name": "{{.param.tagName}}" |
| } |
| ] |
| - name: listTags |
| request: |
| api: /api/tag?pageIndex=0&pageSize=8&type=1 |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: updateTag |
| request: |
| api: /api/tag |
| method: PUT |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| Content-type: application/json |
| body: | |
| { |
| "id": {{(index .listTags.data.content 0).id | int64}}, |
| "name": "{{randAlpha 3}}", |
| "tagValue": "{{randAlpha 3}}", |
| "color": "#ff4081", |
| "type": 1, |
| "creator": "admin", |
| "modifier": "admin" |
| } |
| expect: |
| bodyFieldsExpect: |
| code: "0" |
| - name: deleteTag |
| request: |
| api: /api/tag?ids={{(index .listTags.data.content 0).id | int64}} |
| method: DELETE |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| |
| ## Config |
| - name: getConfigEmail |
| request: |
| api: /api/config/email |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: getConfigSystem |
| request: |
| api: /api/config/system |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: updateSystem |
| request: |
| api: /api/config/system |
| method: POST |
| body: | |
| { |
| "timeZoneId": "Asia/Shanghai", |
| "locale": "en_US", |
| "theme": null |
| } |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| Content-type: application/json |
| - name: getConfigOSS |
| request: |
| api: /api/config/oss |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| - name: updateOSS |
| request: |
| api: /api/config/oss |
| method: POST |
| body: | |
| { |
| "type": "FILE", |
| "config": {} |
| } |
| header: |
| Authorization: Bearer {{.login.data.token}} |
| Content-type: application/json |