mirror of
https://github.com/cpvalente/ontime.git
synced 2026-09-06 14:59:09 +00:00
Revert http test (#1257)
* Revert "refactor: allow messages not starting with http" This reverts commit887e5c448e. * Revert "refactor: allow messages not starting with http" This reverts commit6ce275da7a.
This commit is contained in:
committed by
GitHub
parent
2d53323f60
commit
0500368982
@@ -1,4 +1,4 @@
|
|||||||
import { isAlphanumeric, isIPAddress, isNotEmpty, isOnlyNumbers, startsWithSlash } from '../regex';
|
import { isAlphanumeric, isIPAddress, isNotEmpty, isOnlyNumbers, startsWithHttp, startsWithSlash } from '../regex';
|
||||||
|
|
||||||
describe('simple tests for regex', () => {
|
describe('simple tests for regex', () => {
|
||||||
test('isOnlyNumbers', () => {
|
test('isOnlyNumbers', () => {
|
||||||
@@ -25,6 +25,18 @@ describe('simple tests for regex', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('startsWithHttp', () => {
|
||||||
|
const right = ['http://test'];
|
||||||
|
const wrong = ['https://test', 'testing', '123.0.1'];
|
||||||
|
|
||||||
|
right.forEach((t) => {
|
||||||
|
expect(startsWithHttp.test(t)).toBe(true);
|
||||||
|
});
|
||||||
|
wrong.forEach((t) => {
|
||||||
|
expect(startsWithHttp.test(t)).toBe(false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
test('startsWithSlash', () => {
|
test('startsWithSlash', () => {
|
||||||
const right = ['//test'];
|
const right = ['//test'];
|
||||||
const wrong = ['testing', '123.0.1'];
|
const wrong = ['testing', '123.0.1'];
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
export const isOnlyNumbers = /^\d+$/;
|
export const isOnlyNumbers = /^\d+$/;
|
||||||
export const isIPAddress = /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$/;
|
export const isIPAddress = /^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$/;
|
||||||
|
export const startsWithHttp = /^http:\/\//;
|
||||||
export const startsWithSlash = /^\//;
|
export const startsWithSlash = /^\//;
|
||||||
export const isAlphanumeric = /^[a-z0-9]+$/i;
|
export const isAlphanumeric = /^[a-z0-9]+$/i;
|
||||||
export const isASCII = /^[ -~]+$/; //https://catonmat.net/my-favorite-regex
|
export const isASCII = /^[ -~]+$/; //https://catonmat.net/my-favorite-regex
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import { generateId } from 'ontime-utils';
|
|||||||
import { maybeAxiosError } from '../../../../common/api/utils';
|
import { maybeAxiosError } from '../../../../common/api/utils';
|
||||||
import { useHttpSettings, usePostHttpSettings } from '../../../../common/hooks-query/useHttpSettings';
|
import { useHttpSettings, usePostHttpSettings } from '../../../../common/hooks-query/useHttpSettings';
|
||||||
import { isKeyEscape } from '../../../../common/utils/keyEvent';
|
import { isKeyEscape } from '../../../../common/utils/keyEvent';
|
||||||
|
import { startsWithHttp } from '../../../../common/utils/regex';
|
||||||
import * as Panel from '../PanelUtils';
|
import * as Panel from '../PanelUtils';
|
||||||
|
|
||||||
import { cycles } from './integrationUtils';
|
import { cycles } from './integrationUtils';
|
||||||
@@ -157,6 +158,10 @@ export default function HttpIntegrations() {
|
|||||||
placeholder='http://third-party/vt1/{{timer.current}}'
|
placeholder='http://third-party/vt1/{{timer.current}}'
|
||||||
{...register(`subscriptions.${index}.message`, {
|
{...register(`subscriptions.${index}.message`, {
|
||||||
required: { value: true, message: 'Required field' },
|
required: { value: true, message: 'Required field' },
|
||||||
|
pattern: {
|
||||||
|
value: startsWithHttp,
|
||||||
|
message: 'HTTP messages should start with http://',
|
||||||
|
},
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
{maybeError && <Panel.Error>{maybeError}</Panel.Error>}
|
{maybeError && <Panel.Error>{maybeError}</Panel.Error>}
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ describe('parseHttp()', () => {
|
|||||||
{ id: '1', cycle: 'onLoad', message: 'http://', enabled: true }, // OK
|
{ id: '1', cycle: 'onLoad', message: 'http://', enabled: true }, // OK
|
||||||
{}, // no data
|
{}, // no data
|
||||||
{ id: '2', cycle: 'onStart', enabled: true }, // no message
|
{ id: '2', cycle: 'onStart', enabled: true }, // no message
|
||||||
|
{ id: '3', cycle: 'onLoad', message: '/test', enabled: true }, // doesnt start with http
|
||||||
],
|
],
|
||||||
} as HttpSettings;
|
} as HttpSettings;
|
||||||
const result = parseHttp({ http }, errorEmitter);
|
const result = parseHttp({ http }, errorEmitter);
|
||||||
|
|||||||
@@ -222,7 +222,11 @@ export function sanitiseHttpSubscriptions(subscriptions?: HttpSubscription[]): H
|
|||||||
|
|
||||||
return subscriptions.filter(
|
return subscriptions.filter(
|
||||||
({ id, cycle, message, enabled }) =>
|
({ id, cycle, message, enabled }) =>
|
||||||
typeof id === 'string' && isOntimeCycle(cycle) && typeof message === 'string' && typeof enabled === 'boolean',
|
typeof id === 'string' &&
|
||||||
|
isOntimeCycle(cycle) &&
|
||||||
|
typeof message === 'string' &&
|
||||||
|
message.startsWith('http://') &&
|
||||||
|
typeof enabled === 'boolean',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user