-
Notifications
You must be signed in to change notification settings - Fork 7.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into ENG-13-status-unknown-improvement
- Loading branch information
Showing
110 changed files
with
4,986 additions
and
3,940 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,37 @@ | ||
# [0.216.0](https://github.com/n8n-io/n8n/compare/[email protected]@0.216.0) (2023-02-16) | ||
|
||
|
||
### Bug Fixes | ||
|
||
* **Bubble Node:** Fix pagination issue when returning all objects ([#5483](https://github.com/n8n-io/n8n/issues/5483)) ([1a20fd9](https://github.com/n8n-io/n8n/commit/1a20fd9f46495e32508d74dbb9ccaaa0f6194a07)) | ||
* **core:** Fix data transformation function that are reported not to work properly ([#5338](https://github.com/n8n-io/n8n/issues/5338)) ([0cf45bc](https://github.com/n8n-io/n8n/commit/0cf45bc4c862c7544e69af4981d4607bf0b530e3)) | ||
* **core:** Remove unnecessary info from `GET /workflows` response ([#5311](https://github.com/n8n-io/n8n/issues/5311)) ([a2c6ea9](https://github.com/n8n-io/n8n/commit/a2c6ea9e110e51debf137707b52eb7fedbc0032b)) | ||
* **HTTP Request Node:** Ignore empty body for auto detect json ([#5215](https://github.com/n8n-io/n8n/issues/5215)) ([af70337](https://github.com/n8n-io/n8n/commit/af703371fc96dcfdd8f418201d3880f124cfcfc4)) | ||
|
||
|
||
### Features | ||
|
||
* Add workflow and credential sharing access e2e tests ([#5463](https://github.com/n8n-io/n8n/issues/5463)) ([246189f](https://github.com/n8n-io/n8n/commit/246189f6dae2ce96dabd900ce0a192de731cc6aa)) | ||
* **editor:** Add correct credential owner contact details for readonly credentials ([#5208](https://github.com/n8n-io/n8n/issues/5208)) ([36108f8](https://github.com/n8n-io/n8n/commit/36108f82a1c1657c3959225d0635255668bf0af6)) | ||
* **editor:** Add most important native props and methods to autocomplete ([#5486](https://github.com/n8n-io/n8n/issues/5486)) ([6592d14](https://github.com/n8n-io/n8n/commit/6592d144d1fb680b34240ce57a6615b06de5cde5)) | ||
* **editor:** Update to personalization survey v4 ([#5474](https://github.com/n8n-io/n8n/issues/5474)) ([6265f3a](https://github.com/n8n-io/n8n/commit/6265f3a27a076f6c3c24d0fb323e44c471d85b23)) | ||
* **Github Node:** Use resource locator component ([#5489](https://github.com/n8n-io/n8n/issues/5489)) ([00ac4c3](https://github.com/n8n-io/n8n/commit/00ac4c308a4d96a0f93401402dd92bbbd087f082)) | ||
* **Github Trigger Node:** Use resource locator component ([#5253](https://github.com/n8n-io/n8n/issues/5253)) ([a3d8fac](https://github.com/n8n-io/n8n/commit/a3d8fac73a8a93d6b7f769e1386276e34066a1b7)) | ||
* **Notion Node:** Add icon support for page and database page creation ([#5468](https://github.com/n8n-io/n8n/issues/5468)) ([71cba06](https://github.com/n8n-io/n8n/commit/71cba06b7c1ee8ed42a4dacc2d8114df119339dc)) | ||
* **Slack Node:** Add support for manually inputting a channel name ([#5488](https://github.com/n8n-io/n8n/issues/5488)) ([7954ed3](https://github.com/n8n-io/n8n/commit/7954ed3cfbd4d8d0611c0cc51385b49cc80282a6)) | ||
* Update telemetry api endpoints ([#5482](https://github.com/n8n-io/n8n/issues/5482)) ([3de49e8](https://github.com/n8n-io/n8n/commit/3de49e8f7894e628b722e2a0c62e8739b1de6be9)) | ||
|
||
|
||
|
||
## [0.215.2](https://github.com/n8n-io/n8n/compare/[email protected]@0.215.2) (2023-02-14) | ||
|
||
|
||
### Bug Fixes | ||
|
||
* **core:** Fix the issue with test webhooks getting removed incorrectly ([#5466](https://github.com/n8n-io/n8n/issues/5466)) ([4dc458e](https://github.com/n8n-io/n8n/commit/4dc458eca5587cf7765bed6fd384d47a31e66e2c)), closes [/github.com/n8n-io/n8n/pull/5443/files#diff-b386248ff00977749c873ed85821c241b773e9740d7e7adf94e05b73b350ed74L152](https://github.com//github.com/n8n-io/n8n/pull/5443/files/issues/diff-b386248ff00977749c873ed85821c241b773e9740d7e7adf94e05b73b350ed74L152) | ||
|
||
|
||
|
||
## [0.215.1](https://github.com/n8n-io/n8n/compare/[email protected]@0.215.1) (2023-02-11) | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,168 @@ | ||
import { DEFAULT_USER_EMAIL, DEFAULT_USER_PASSWORD } from '../constants'; | ||
import { | ||
CredentialsModal, | ||
CredentialsPage, | ||
NDV, | ||
WorkflowPage, | ||
WorkflowSharingModal, | ||
WorkflowsPage, | ||
} from '../pages'; | ||
|
||
/** | ||
* User U1 - Instance owner | ||
* User U2 - User, owns C1, W1, W2 | ||
* User U3 - User, owns C2 | ||
* | ||
* W1 - Workflow owned by User U2, shared with User U3 | ||
* W2 - Workflow owned by User U2 | ||
* | ||
* C1 - Credential owned by User U2 | ||
* C2 - Credential owned by User U3, shared with User U1 and User U2 | ||
*/ | ||
|
||
const credentialsPage = new CredentialsPage(); | ||
const credentialsModal = new CredentialsModal(); | ||
|
||
const workflowsPage = new WorkflowsPage(); | ||
const workflowPage = new WorkflowPage(); | ||
const workflowSharingModal = new WorkflowSharingModal(); | ||
const ndv = new NDV(); | ||
|
||
const instanceOwner = { | ||
email: `${DEFAULT_USER_EMAIL}one`, | ||
password: DEFAULT_USER_PASSWORD, | ||
firstName: 'User', | ||
lastName: 'U1', | ||
}; | ||
|
||
const users = [ | ||
{ | ||
email: `${DEFAULT_USER_EMAIL}two`, | ||
password: DEFAULT_USER_PASSWORD, | ||
firstName: 'User', | ||
lastName: 'U2', | ||
}, | ||
{ | ||
email: `${DEFAULT_USER_EMAIL}three`, | ||
password: DEFAULT_USER_PASSWORD, | ||
firstName: 'User', | ||
lastName: 'U3', | ||
}, | ||
]; | ||
|
||
describe('Sharing', () => { | ||
before(() => { | ||
cy.resetAll(); | ||
cy.setupOwner(instanceOwner); | ||
}); | ||
|
||
beforeEach(() => { | ||
cy.on('uncaught:exception', (err, runnable) => { | ||
expect(err.message).to.include('Not logged in'); | ||
return false; | ||
}); | ||
}); | ||
|
||
it('should invite User U2 and User U3 to instance', () => { | ||
cy.inviteUsers({ instanceOwner, users }); | ||
}); | ||
|
||
let workflowW2Url = ''; | ||
it('should create C1, W1, W2, share W1 with U3, as U2', () => { | ||
cy.signin(users[0]); | ||
|
||
cy.visit(credentialsPage.url); | ||
credentialsPage.getters.emptyListCreateCredentialButton().click(); | ||
credentialsModal.getters.newCredentialTypeOption('Notion API').click(); | ||
credentialsModal.getters.newCredentialTypeButton().click(); | ||
credentialsModal.getters.connectionParameter('API Key').type('1234567890'); | ||
credentialsModal.actions.setName('Credential C1'); | ||
credentialsModal.actions.save(); | ||
credentialsModal.actions.close(); | ||
|
||
cy.visit(workflowsPage.url); | ||
workflowsPage.getters.newWorkflowButtonCard().click(); | ||
workflowPage.actions.setWorkflowName('Workflow W1'); | ||
workflowPage.actions.addInitialNodeToCanvas('Manual Trigger'); | ||
workflowPage.actions.addNodeToCanvas('Notion', true, true); | ||
ndv.getters.credentialInput().should('contain', 'Credential C1'); | ||
ndv.actions.close(); | ||
|
||
workflowPage.actions.openShareModal(); | ||
workflowSharingModal.actions.addUser(users[1].email); | ||
workflowSharingModal.actions.save(); | ||
workflowPage.actions.saveWorkflowOnButtonClick(); | ||
|
||
cy.visit(workflowsPage.url); | ||
workflowsPage.getters.createWorkflowButton().click(); | ||
cy.createFixtureWorkflow('Test_workflow_1.json', 'Workflow W2'); | ||
cy.url().then((url) => { | ||
workflowW2Url = url; | ||
}); | ||
}); | ||
|
||
it('should create C2, share C2 with U1 and U2, as U3', () => { | ||
cy.signin(users[1]); | ||
|
||
cy.visit(credentialsPage.url); | ||
credentialsPage.getters.emptyListCreateCredentialButton().click(); | ||
credentialsModal.getters.newCredentialTypeOption('Airtable API').click(); | ||
credentialsModal.getters.newCredentialTypeButton().click(); | ||
credentialsModal.getters.connectionParameter('API Key').type('1234567890'); | ||
credentialsModal.actions.setName('Credential C2'); | ||
credentialsModal.actions.changeTab('Sharing'); | ||
credentialsModal.actions.addUser(instanceOwner.email); | ||
credentialsModal.actions.addUser(users[0].email); | ||
credentialsModal.actions.save(); | ||
credentialsModal.actions.close(); | ||
}); | ||
|
||
it('should open W1, add node using C2 as U3', () => { | ||
cy.signin(users[1]); | ||
|
||
cy.visit(workflowsPage.url); | ||
workflowsPage.getters.workflowCards().should('have.length', 1); | ||
workflowsPage.getters.workflowCard('Workflow W1').click(); | ||
workflowPage.actions.addNodeToCanvas('Airtable', true, true); | ||
ndv.getters.credentialInput().should('contain', 'Credential C2'); | ||
ndv.actions.close(); | ||
workflowPage.actions.saveWorkflowOnButtonClick(); | ||
|
||
workflowPage.actions.openNode('Notion'); | ||
ndv.getters | ||
.credentialInput() | ||
.find('input') | ||
.should('have.value', 'Credential C1') | ||
.should('be.disabled'); | ||
ndv.actions.close(); | ||
}); | ||
|
||
it('should not have access to W2, as U3', () => { | ||
cy.signin(users[1]); | ||
|
||
cy.visit(workflowW2Url); | ||
cy.waitForLoad(); | ||
cy.wait(1000); | ||
cy.get('.el-notification').contains('Could not find workflow').should('be.visible'); | ||
}); | ||
|
||
it('should have access to W1, W2, as U1', () => { | ||
cy.signin(instanceOwner); | ||
|
||
cy.visit(workflowsPage.url); | ||
workflowsPage.getters.workflowCards().should('have.length', 2); | ||
workflowsPage.getters.workflowCard('Workflow W1').click(); | ||
workflowPage.actions.openNode('Notion'); | ||
ndv.getters | ||
.credentialInput() | ||
.find('input') | ||
.should('have.value', 'Credential C1') | ||
.should('be.disabled'); | ||
ndv.actions.close(); | ||
|
||
cy.waitForLoad(); | ||
cy.visit(workflowsPage.url); | ||
workflowsPage.getters.workflowCard('Workflow W2').click(); | ||
workflowPage.actions.executeWorkflow(); | ||
}); | ||
}); |
Oops, something went wrong.