Skip to content

Commit

Permalink
Revert http test (#1257)
Browse files Browse the repository at this point in the history
* Revert "refactor: allow messages not starting with http"

This reverts commit 887e5c4.

* Revert "refactor: allow messages not starting with http"

This reverts commit 6ce275d.
  • Loading branch information
alex-Arc authored Oct 12, 2024
1 parent 2d53323 commit 0500368
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 2 deletions.
14 changes: 13 additions & 1 deletion apps/client/src/common/utils/__tests__/regex.test.ts
Original file line number Diff line number Diff line change
@@ -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', () => {
test('isOnlyNumbers', () => {
Expand All @@ -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', () => {
const right = ['//test'];
const wrong = ['testing', '123.0.1'];
Expand Down
1 change: 1 addition & 0 deletions apps/client/src/common/utils/regex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

export const isOnlyNumbers = /^\d+$/;
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 isAlphanumeric = /^[a-z0-9]+$/i;
export const isASCII = /^[ -~]+$/; //https://catonmat.net/my-favorite-regex
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { generateId } from 'ontime-utils';
import { maybeAxiosError } from '../../../../common/api/utils';
import { useHttpSettings, usePostHttpSettings } from '../../../../common/hooks-query/useHttpSettings';
import { isKeyEscape } from '../../../../common/utils/keyEvent';
import { startsWithHttp } from '../../../../common/utils/regex';
import * as Panel from '../PanelUtils';

import { cycles } from './integrationUtils';
Expand Down Expand Up @@ -157,6 +158,10 @@ export default function HttpIntegrations() {
placeholder='http://third-party/vt1/{{timer.current}}'
{...register(`subscriptions.${index}.message`, {
required: { value: true, message: 'Required field' },
pattern: {
value: startsWithHttp,
message: 'HTTP messages should start with http://',
},
})}
/>
{maybeError && <Panel.Error>{maybeError}</Panel.Error>}
Expand Down
1 change: 1 addition & 0 deletions apps/server/src/utils/__tests__/parserFunctions.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ describe('parseHttp()', () => {
{ id: '1', cycle: 'onLoad', message: 'http://', enabled: true }, // OK
{}, // no data
{ id: '2', cycle: 'onStart', enabled: true }, // no message
{ id: '3', cycle: 'onLoad', message: '/test', enabled: true }, // doesnt start with http
],
} as HttpSettings;
const result = parseHttp({ http }, errorEmitter);
Expand Down
6 changes: 5 additions & 1 deletion apps/server/src/utils/parserFunctions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,11 @@ export function sanitiseHttpSubscriptions(subscriptions?: HttpSubscription[]): H

return subscriptions.filter(
({ 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',
);
}

Expand Down

0 comments on commit 0500368

Please sign in to comment.