105 lines
3.4 KiB
JavaScript
105 lines
3.4 KiB
JavaScript
|
|
// Copyright (C) CVAT.ai Corporation
|
||
|
|
//
|
||
|
|
// SPDX-License-Identifier: MIT
|
||
|
|
|
||
|
|
context('Webhooks pipeline.', () => {
|
||
|
|
const organizationParams = {
|
||
|
|
shortName: 'WebhooksOrg',
|
||
|
|
fullName: 'Organization full name. Only for test.',
|
||
|
|
description: 'This organization was created to test the functionality.',
|
||
|
|
email: 'testorganization@local.local',
|
||
|
|
phoneNumber: '+70000000000',
|
||
|
|
location: 'Country, State, Address, 000000',
|
||
|
|
};
|
||
|
|
const orgWebhookParams = {
|
||
|
|
targetURL: 'https://localhost:3001/organization',
|
||
|
|
description: 'Sample description',
|
||
|
|
secret: 'Super secret',
|
||
|
|
enableSSL: true,
|
||
|
|
isActive: true,
|
||
|
|
events: [
|
||
|
|
'project', 'job', 'task',
|
||
|
|
],
|
||
|
|
};
|
||
|
|
const projectWebhookParams = {
|
||
|
|
targetURL: 'https://localhost:3001/project',
|
||
|
|
description: 'Sample description',
|
||
|
|
secret: 'Super secret',
|
||
|
|
enableSSL: true,
|
||
|
|
isActive: true,
|
||
|
|
};
|
||
|
|
const newOrganizationWebhookParams = {
|
||
|
|
targetURL: 'https://localhost:3001/edited',
|
||
|
|
description: 'Edited description',
|
||
|
|
secret: 'Super secret',
|
||
|
|
enableSSL: true,
|
||
|
|
isActive: false,
|
||
|
|
events: [
|
||
|
|
'job',
|
||
|
|
],
|
||
|
|
};
|
||
|
|
|
||
|
|
const project = {
|
||
|
|
name: 'Project for webhooks',
|
||
|
|
label: 'car',
|
||
|
|
attrName: 'color',
|
||
|
|
attrValue: 'red',
|
||
|
|
multiAttrParams: false,
|
||
|
|
};
|
||
|
|
|
||
|
|
before(() => {
|
||
|
|
cy.visit('/auth/login');
|
||
|
|
cy.login();
|
||
|
|
cy.createOrganization(organizationParams);
|
||
|
|
cy.visit('/projects');
|
||
|
|
cy.createProjects(
|
||
|
|
project.name,
|
||
|
|
project.label,
|
||
|
|
project.attrName,
|
||
|
|
project.attrValue,
|
||
|
|
project.multiAttrParams,
|
||
|
|
);
|
||
|
|
});
|
||
|
|
|
||
|
|
after(() => {
|
||
|
|
cy.logout();
|
||
|
|
cy.getAuthKey().then((authKey) => {
|
||
|
|
cy.deleteProjects(authKey, [project.name]);
|
||
|
|
cy.deleteOrganizations(authKey, [organizationParams.shortName]);
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
describe('Test organization webhook', () => {
|
||
|
|
it('Open the organization. Create/update/delete webhook.', () => {
|
||
|
|
cy.openOrganization(organizationParams.shortName);
|
||
|
|
cy.openOrganizationWebhooks();
|
||
|
|
cy.createWebhook(orgWebhookParams);
|
||
|
|
cy.get('.cvat-webhooks-list').within(() => {
|
||
|
|
cy.contains(orgWebhookParams.description).should('exist');
|
||
|
|
cy.contains(orgWebhookParams.targetURL).should('exist');
|
||
|
|
});
|
||
|
|
|
||
|
|
cy.editWebhook(orgWebhookParams.description, newOrganizationWebhookParams);
|
||
|
|
cy.get('.cvat-webhooks-list').within(() => {
|
||
|
|
cy.contains(newOrganizationWebhookParams.description).should('exist');
|
||
|
|
cy.contains(newOrganizationWebhookParams.targetURL).should('exist');
|
||
|
|
});
|
||
|
|
|
||
|
|
cy.deleteWebhook(newOrganizationWebhookParams.description);
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
describe('Test project webhook', () => {
|
||
|
|
it('Open the project. Create webhook.', () => {
|
||
|
|
cy.goToProjectsList();
|
||
|
|
cy.openProject(project.name);
|
||
|
|
cy.openProjectWebhooks();
|
||
|
|
cy.createWebhook(projectWebhookParams);
|
||
|
|
cy.get('.cvat-webhooks-list').within(() => {
|
||
|
|
cy.contains(projectWebhookParams.description).should('exist');
|
||
|
|
cy.contains(projectWebhookParams.targetURL).should('exist');
|
||
|
|
});
|
||
|
|
});
|
||
|
|
});
|
||
|
|
});
|