Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion appium/tests/screenobjects/new-message.screen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,13 @@ class NewMessageScreen extends BaseScreen {
const addedRecipientEl = await this.addedRecipientEmail;
const value = await addedRecipientEl.getValue();
expect(value).toEqual(` ${recipient} `);
};
}

checkAddedRecipientColor = async (recipient: string, order: number, color: string) => {
const addedRecipientEl = await $(`~aid-to-${order}-${color}`);
const name = await addedRecipientEl.getValue();
expect(name).toEqual(` ${recipient} `);
}

checkAddedAttachment = async (name: string) => {
await (await this.deleteAttachmentButton).waitForDisplayed();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import { MockApi } from 'api-mocks/mock';
import {
SplashScreen,
} from '../../../screenobjects/all-screens';
import {attesterPublicKeySamples} from "../../../../api-mocks/apis/attester/attester-endpoints";
import SetupKeyScreen from "../../../screenobjects/setup-key.screen";
import MailFolderScreen from "../../../screenobjects/mail-folder.screen";
import NewMessageScreen from "../../../screenobjects/new-message.screen";

describe('SETUP: ', () => {

it('cannot find email on attester with disallow_attester_search_for_domains=*', async () => {

const mockApi = new MockApi();

mockApi.fesConfig = {
clientConfiguration: {
flags: ["NO_PRV_CREATE", "NO_PRV_BACKUP", "NO_ATTESTER_SUBMIT", "PRV_AUTOIMPORT_OR_AUTOGEN", "FORBID_STORING_PASS_PHRASE"],
key_manager_url: "https://ekm.flowcrypt.com",
disallow_attester_search_for_domains: ["*"]
}
};
mockApi.attesterConfig = {
servedPubkeys: {
'available.on@attester.test': attesterPublicKeySamples.valid
}
};

await mockApi.withMockedApis(async () => {
await SplashScreen.login();
await SetupKeyScreen.setPassPhrase();
await MailFolderScreen.checkInboxScreen();
await MailFolderScreen.clickCreateEmail();
await NewMessageScreen.setAddRecipient('available.on@attester.test');
await NewMessageScreen.checkAddedRecipientColor('available.on@attester.test', 0, 'gray');
});
});
});
34 changes: 34 additions & 0 deletions appium/tests/specs/mock/setup/FindEmailOnAttester.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import { MockApi } from 'api-mocks/mock';
import {
SplashScreen,
} from '../../../screenobjects/all-screens';
import {attesterPublicKeySamples} from "../../../../api-mocks/apis/attester/attester-endpoints";
import SetupKeyScreen from "../../../screenobjects/setup-key.screen";
import MailFolderScreen from "../../../screenobjects/mail-folder.screen";
import NewMessageScreen from "../../../screenobjects/new-message.screen";

describe('SETUP: ', () => {

it('can find email on attester', async () => {
const mockApi = new MockApi();
mockApi.fesConfig = {
clientConfiguration: {
flags: ["NO_PRV_CREATE", "NO_PRV_BACKUP", "NO_ATTESTER_SUBMIT", "PRV_AUTOIMPORT_OR_AUTOGEN", "FORBID_STORING_PASS_PHRASE"],
key_manager_url: "https://ekm.flowcrypt.com"
}
};
mockApi.attesterConfig = {
servedPubkeys: {
'available.on@attester.test': attesterPublicKeySamples.valid
}
};
await mockApi.withMockedApis(async () => {
await SplashScreen.login();
await SetupKeyScreen.setPassPhrase();
await MailFolderScreen.checkInboxScreen();
await MailFolderScreen.clickCreateEmail();
await NewMessageScreen.setAddRecipient('available.on@attester.test');
await NewMessageScreen.checkAddedRecipientColor('available.on@attester.test', 0, 'green');
});
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import { MockApi } from 'api-mocks/mock';
import {
SplashScreen,
} from '../../../screenobjects/all-screens';
import {attesterPublicKeySamples} from "../../../../api-mocks/apis/attester/attester-endpoints";
import SetupKeyScreen from "../../../screenobjects/setup-key.screen";
import MailFolderScreen from "../../../screenobjects/mail-folder.screen";
import NewMessageScreen from "../../../screenobjects/new-message.screen";

describe('SETUP: ', () => {

it('respects disallow_attester_search_for_domains on a per-domain basis', async () => {

const mockApi = new MockApi();
mockApi.fesConfig = {
clientConfiguration: {
flags: ["NO_PRV_CREATE", "NO_PRV_BACKUP", "NO_ATTESTER_SUBMIT", "PRV_AUTOIMPORT_OR_AUTOGEN", "FORBID_STORING_PASS_PHRASE"],
key_manager_url: "https://ekm.flowcrypt.com",
disallow_attester_search_for_domains: ["disabled.test"]
}
};
mockApi.attesterConfig = {
servedPubkeys: {
'attester@disabled.test': attesterPublicKeySamples.valid,
'attester@enabled.test': attesterPublicKeySamples.valid
}
};

await mockApi.withMockedApis(async () => {
await SplashScreen.login();
await SetupKeyScreen.setPassPhrase();
await MailFolderScreen.checkInboxScreen();
await MailFolderScreen.clickCreateEmail();

// Adding recipients
await NewMessageScreen.setAddRecipient('attester@disabled.test');
await NewMessageScreen.setAddRecipient('attester@enabled.test');

// Checking added recipients color
await NewMessageScreen.checkAddedRecipientColor('attester@disabled.test', 0, 'gray');
await NewMessageScreen.checkAddedRecipientColor('attester@enabled.test', 1, 'green');
});
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ describe('SETUP: ', () => {

it('app setup fails with bad EKM URL', async () => {
const mockApi = new MockApi();
mockApi.fesConfig = { clientConfiguration: { key_manager_url: 'INTENTIONAL BAD URL' } };
mockApi.fesConfig = {
clientConfiguration: {
key_manager_url: 'INTENTIONAL BAD URL'
}
};
await mockApi.withMockedApis(async () => {
await SplashScreen.login();
await BaseScreen.checkErrorModal('Please check if key manager url set correctly');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,12 @@ describe('SETUP: ', () => {

it('setup shows meaningful error when FES returns 400', async () => {
const mockApi = new MockApi();
mockApi.fesConfig = { returnError: { code: 400, message: "some client err" } };
mockApi.fesConfig = {
returnError: {
code: 400,
message: "some client err"
}
};
await mockApi.withMockedApis(async () => {
await SplashScreen.login();
await BaseScreen.checkErrorModalForFES('EnterpriseServerApi 400 message:some client err get http://127.0.0.1:8001/fes/api/');
Expand Down