Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
eromano committed Jul 29, 2023
1 parent f369ad9 commit b0d44da
Show file tree
Hide file tree
Showing 10 changed files with 64 additions and 21 deletions.
9 changes: 0 additions & 9 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -392,15 +392,6 @@ jobs:
check-cs-env: "true"
check-ps-cloud-env: "true"
deps: "testing"
- description: "Process Cloud: People"
test-id: "process-services-cloud"
folder: "process-services-cloud/people"
provider: "ALL"
auth: "OAUTH"
apa-proxy: true
check-cs-env: "true"
check-ps-cloud-env: "true"
deps: "testing"
- description: "Process Cloud: Process"
test-id: "process-services-cloud"
folder: "process-services-cloud/process"
Expand Down
2 changes: 1 addition & 1 deletion e2e/protractor.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ exports.config = {

// @ts-ignore
if (browser.params.testConfig.appConfig.authType === 'OAUTH') {

Logger.info(`Configure demo shell OAUTH`);
// @ts-ignore
await LocalStorageUtil.setStorageItem('identityHost', browser.params.testConfig.appConfig.identityHost);
// @ts-ignore
Expand Down
15 changes: 14 additions & 1 deletion lib/core/src/lib/api-factories/alfresco-api-v2-loader.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import { Injectable } from '@angular/core';
import { AppConfigService, AppConfigValues } from '../app-config/app-config.service';
import { AlfrescoApiService } from '../services/alfresco-api.service';
import { StorageService } from '../common/services/storage.service';
import { AuthenticationService, BasicAlfrescoAuthService } from "../auth";

Check failure on line 23 in lib/core/src/lib/api-factories/alfresco-api-v2-loader.service.ts

View workflow job for this annotation

GitHub Actions / Lint

Strings must use singlequote

export function createAlfrescoApiInstance(angularAlfrescoApiService: AlfrescoApiLoaderService) {
return () => angularAlfrescoApiService.init();
Expand All @@ -29,10 +30,22 @@ export function createAlfrescoApiInstance(angularAlfrescoApiService: AlfrescoApi
providedIn: 'root'
})
export class AlfrescoApiLoaderService {
constructor(private readonly appConfig: AppConfigService, private readonly apiService: AlfrescoApiService, private storageService: StorageService) {}
constructor(private readonly appConfig: AppConfigService,
private readonly apiService: AlfrescoApiService,
private readonly basicAlfrescoAuthService: BasicAlfrescoAuthService,
private readonly authService: AuthenticationService,
private storageService: StorageService) {
}

async init(): Promise<any> {
await this.appConfig.load();

this.authService.onLogin.subscribe(async () => {
if (this.authService.isOauth() && (this.authService.isALLProvider() || this.authService.isECMProvider())) {
await this.basicAlfrescoAuthService.requireAlfTicket();
}
});

return this.initAngularAlfrescoApi();
}

Expand Down
11 changes: 7 additions & 4 deletions lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ export class BasicAlfrescoAuthService extends BaseAuthenticationService {

this.appConfig.onLoad
.subscribe(() => {
if (this.isLoggedIn()) {
if (!this.isOauth() && this.isLoggedIn()) {
this.onLogin.next('logged-in');
}
});
Expand Down Expand Up @@ -201,18 +201,18 @@ export class BasicAlfrescoAuthService extends BaseAuthenticationService {
return this.contentAuth.getToken();
} else if (this.isALLProvider()) {
return this.contentAuth.getToken();
}else{
} else {
return '';
}
}

/** @deprecated */
getTicketEcm(): string{
getTicketEcm(): string {
return this.contentAuth.getToken();
}

/** @deprecated */
getTicketBpm(): string{
getTicketBpm(): string {
return this.processAuth.getToken();
}

Expand Down Expand Up @@ -330,6 +330,9 @@ export class BasicAlfrescoAuthService extends BaseAuthenticationService {
return header.set('Authorization', ticket);
}

async requireAlfTicket(): Promise<void> {
return this.contentAuth.requireAlfTicket();
}

/**
* Gets the BPM ticket from the Storage in Base 64 format.
Expand Down
7 changes: 6 additions & 1 deletion lib/core/src/lib/auth/basic-auth/content-auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ export class ContentAuth {
* Get the current Ticket
* */
getToken(): string {
if(!this.ticket){
if (!this.ticket) {
this.onError.next('error');
}

Expand Down Expand Up @@ -202,6 +202,11 @@ export class ContentAuth {
return this.adfHttpClient.post(this.basePath + '/tickets', {bodyParam: ticketBodyCreate});
}

async requireAlfTicket(): Promise<void> {
const ticket = await this.adfHttpClient.get(this.basePath + '/tickets/-me-');
this.setTicket(ticket.entry.id);
}

deleteTicket(): Promise<any> {
return this.adfHttpClient.delete(this.basePath + '/tickets/-me-');
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ export class OidcAuthenticationService extends BaseAuthenticationService {
}

ssoImplicitLogin() {
this.oauthService.initLoginFlow();
this.auth.login();
}

ssoCodeFlowLogin() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export class UploadActions {
async uploadFile(fileLocation, fileName, parentFolderId): Promise<any> {
const file = fs.createReadStream(fileLocation);

return this.uploadApi.uploadFile(
const uploadPromise = this.uploadApi.uploadFile(
file,
'',
parentFolderId,
Expand All @@ -48,6 +48,12 @@ export class UploadActions {
renditions: 'doclib'
}
);

uploadPromise.then(() => {

Check failure on line 52 in lib/testing/src/lib/protractor/content-services/actions/upload.actions.ts

View workflow job for this annotation

GitHub Actions / Lint

Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the `void` operator
Logger.info(`${fileName} uploaded in ${parentFolderId}`);
})

Check failure on line 54 in lib/testing/src/lib/protractor/content-services/actions/upload.actions.ts

View workflow job for this annotation

GitHub Actions / Lint

Missing semicolon

return uploadPromise;
}

async createEmptyFiles(emptyFileNames: string[], parentFolderId): Promise<NodeEntry> {
Expand All @@ -74,6 +80,7 @@ export class UploadActions {
async deleteFileOrFolder(nodeId) {
const apiCall = async () => {
try {
Logger.error(`Deleting ${nodeId}`);
return this.nodesApi.deleteNode(nodeId, { permanent: true });
} catch (error) {
Logger.error('Error delete file or folder');
Expand All @@ -89,11 +96,20 @@ export class UploadActions {
const promises = [];

if (files && files.length > 0) {

for (const fileName of files) {
const pathFile = path.join(sourcePath, fileName);
promises.push(this.uploadFile(pathFile, fileName, folder));

const uploadPromise = this.uploadFile(pathFile, fileName, folder);

await uploadPromise.then(() => {
Logger.info(`File ${fileName} uploaded successfully in ${folder}!`);
}).catch(() => {
Logger.error(`File ${fileName} error during the upload in ${folder}!`);
});

promises.push(uploadPromise);
}

uploadedFiles = await Promise.all(promises);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,14 @@ export class IdentityService {
const queryParams = {};
const postBody = {};
return this.api.performIdentityOperation(path, method, queryParams, postBody);

const deletePromise = this.api.performIdentityOperation(path, method, queryParams, postBody)

Check failure on line 87 in lib/testing/src/lib/protractor/core/actions/identity/identity.service.ts

View workflow job for this annotation

GitHub Actions / Lint

Missing semicolon

deletePromise.then(() => {

Check failure on line 89 in lib/testing/src/lib/protractor/core/actions/identity/identity.service.ts

View workflow job for this annotation

GitHub Actions / Lint

Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the `void` operator
Logger.info(`user ${userId} delete`);
})

Check failure on line 91 in lib/testing/src/lib/protractor/core/actions/identity/identity.service.ts

View workflow job for this annotation

GitHub Actions / Lint

Missing semicolon

return deletePromise;
}

async getUserInfoByUsername(username: string): Promise<any> {
Expand Down
7 changes: 7 additions & 0 deletions lib/testing/src/lib/protractor/core/pages/login.page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ export class LoginPage {
Logger.log('Login With ' + username);
const authType = await LocalStorageUtil.getConfigField('authType');

Logger.log(`AuthType ${authType}`);

if (!authType || authType === 'OAUTH') {
await this.loginSSOIdentityService(username, password, options);
} else {
Expand All @@ -86,7 +88,10 @@ export class LoginPage {
await BrowserActions.getUrl(loginURL);

if (oauth2 && oauth2.silentLogin === false) {
Logger.log(`Login SSO`);
await this.clickOnSSOButton();
}else{
Logger.log(`Login SSO silent login`);
}

await BrowserVisibility.waitUntilElementIsVisible(this.usernameField);
Expand All @@ -101,6 +106,8 @@ export class LoginPage {
}

async loginBasicAuth(username: string, password: string, options: LoginOptions = { waitForUserIcon: true }): Promise<void> {
Logger.log(`Login Basic`);

await this.goToLoginPage();

await this.enterUsernameBasicAuth(username);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export class FileBrowserUtil {

static async isFileDownloaded(fileName: string): Promise<boolean> {
const DEFAULT_ROOT_PATH = browser.params.testConfig ? browser.params.testConfig.main.rootPath : __dirname;
const file = await browser.driver.wait(() => fs.existsSync(path.join(DEFAULT_ROOT_PATH, 'downloads', fileName)), 30000);
const file = await browser.driver.wait(() => fs.existsSync(path.join(DEFAULT_ROOT_PATH, 'downloads', fileName)), 30000,`${fileName} not downloaded`);

await expect(file).toBe(true, `${fileName} not downloaded`);

Expand Down

0 comments on commit b0d44da

Please sign in to comment.