Skip to content

Commit

Permalink
test: Updating of tests to support new environment
Browse files Browse the repository at this point in the history
  • Loading branch information
steilerDev committed Jul 3, 2023
1 parent 284e66a commit 855f5cc
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 24 deletions.
4 changes: 2 additions & 2 deletions app/src/app/event/error-handler.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as bt from 'backtrace-node';
import {EventEmitter} from 'events';
import * as PACKAGE_INFO from '../../lib/package.js';
import {getLogger, logFile} from "../../lib/logger.js";
import {getLogger, logFilePath} from "../../lib/logger.js";
import {iCPSError} from "../error/error.js";
import {randomUUID} from "crypto";
import {EventHandler} from './event-handler.js';
Expand Down Expand Up @@ -141,7 +141,7 @@ export class ErrorHandler extends EventEmitter implements EventHandler {
'icps.description': err.getDescription(),
'icps.uuid': errorUUID,
'icps.rootErrorCode': err.getRootErrorCode(),
}, [logFile]);
}, [logFilePath]);

await this.btClient.sendAsync(report);
return errorUUID;
Expand Down
19 changes: 8 additions & 11 deletions app/src/lib/logger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import chalk from 'chalk';
import * as fs from 'fs';
import * as path from 'path';
import {iCPSAppOptions} from '../app/factory.js';
import { getDefaultSettings } from 'http2';

const LOG_FILE_NAME = `.icloud-photos-sync.log`;

Expand Down Expand Up @@ -41,10 +40,9 @@ export function setupLogger(options: iCPSAppOptions): void {
"base": LOG_FILE_NAME,
});


try {
if(options.logToCli && !options.silent) {
throw new Error(`Disabling logging to file, due to logToCli flag`)
if (options.logToCli && !options.silent) {
throw new Error(`Disabling logging to file, due to logToCli flag`);
}

const logPath = path.dirname(logFilePath);
Expand All @@ -53,24 +51,23 @@ export function setupLogger(options: iCPSAppOptions): void {
}

// Try opening the file - truncate if exists
const logFd = fs.openSync(logFilePath, "w")
const logFd = fs.openSync(logFilePath, `w`);

log.methodFactory = function (methodName, _logLevel, loggerName) {
return function (message) {
const prefixedMessage = `[${new Date().toISOString()}] ${methodName.toUpperCase()} ${String(loggerName)}: ${message}\n`;
fs.appendFileSync(logFd, prefixedMessage);
};
};

} catch (err) {
console.warn(`Unable to write log to file ${logFilePath}: ${err.message} - using console output`)
console.warn(`Unable to write log to file ${logFilePath}: ${err.message} - using console output`);
const originalFactory = log.methodFactory;
log.methodFactory = function(methodName, logLevel, loggerName) {
return function(...message: any[]) {
log.methodFactory = function (methodName, logLevel, loggerName) {
return function (...message: any[]) {
const prefixedMessage = `${chalk.gray(`[${new Date().toLocaleString()}]`)} ${methodName.toUpperCase()} ${chalk.green(`${String(loggerName)}: ${message}`)}`;
originalFactory(methodName, logLevel, loggerName)(prefixedMessage);
}
}
};
};
}

log.setLevel(options.logLevel as log.LogLevelDesc);
Expand Down
2 changes: 1 addition & 1 deletion app/test/_mocks/logger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export const setupLogger: () => void = jest.fn();
/**
* Mocked log file name
*/
export const logFile = `test`;
export const logFilePath = `test`;

/**
* @returns The default logger silenced
Expand Down
2 changes: 1 addition & 1 deletion docker/test/01-help-cmd
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

echo "Help command working"
docker run icloud-photos-sync:latest help > /dev/null
docker run $IMAGE_NAME help > /dev/null
if [ $? -eq 0 ]; then
echo " - Pass"
else
Expand Down
6 changes: 3 additions & 3 deletions docker/test/02-enter-mfa-helper
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
#!/bin/bash

echo "'Enter MFA' helper linked"
BIN=$(docker run --entrypoint /usr/bin/which icloud-photos-sync:latest enter_mfa)
BIN=$(docker run --entrypoint /usr/bin/which $IMAGE_NAME enter_mfa)
if [ $? -eq 1 ]; then
echo " - Fail: $BIN"
exit 1
fi
echo " - Pass: $BIN"

echo "'Enter MFA' helper executable"
TARGET=$(docker run --entrypoint /usr/bin/readlink icloud-photos-sync:latest -f ${BIN})
FILE_MODE=$(docker run --entrypoint /bin/stat icloud-photos-sync:latest -c %a ${TARGET})
TARGET=$(docker run --entrypoint /usr/bin/readlink $IMAGE_NAME -f ${BIN})
FILE_MODE=$(docker run --entrypoint /bin/stat $IMAGE_NAME -c %a ${TARGET})
if [ "$FILE_MODE" != "755" ]; then
echo " - Fail: $FILE_MODE @ $TARGET"
exit 1
Expand Down
6 changes: 3 additions & 3 deletions docker/test/03-resend-mfa-helper
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
#!/bin/bash

echo "'Resend MFA' helper linked"
BIN=$(docker run --entrypoint /usr/bin/which icloud-photos-sync:latest resend_mfa)
BIN=$(docker run --entrypoint /usr/bin/which $IMAGE_NAME resend_mfa)
if [ $? -eq 1 ]; then
echo " - Fail: $BIN"
exit 1
fi
echo " - Pass: $BIN"

echo "'Resend MFA' helper executable"
TARGET=$(docker run --entrypoint /usr/bin/readlink icloud-photos-sync:latest -f ${BIN})
FILE_MODE=$(docker run --entrypoint /bin/stat icloud-photos-sync:latest -c %a ${TARGET})
TARGET=$(docker run --entrypoint /usr/bin/readlink $IMAGE_NAME -f ${BIN})
FILE_MODE=$(docker run --entrypoint /bin/stat $IMAGE_NAME -c %a ${TARGET})
if [ "$FILE_MODE" != "755" ]; then
echo " - Fail: $FILE_MODE @ $TARGET"
exit 1
Expand Down
6 changes: 3 additions & 3 deletions docker/test/04-e2e
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ function assertMetric {
if grep -Fq "$1" $METRICS_FILE; then
echo " - PASS: $1"
else
echo " - FAIL: $1"
echo " - FAIL: Expected '$1', but got:"
cat $METRICS_FILE
exit 1
fi
}

function runSync {
#docker run -v "$DIR:/opt/icloud-photos-library" -u $(id -u ${USER}):$(id -g ${USER}) steilerdev/icloud-photos-sync:nightly \
docker run -v "$DIR:/opt/icloud-photos-library" -u $(id -u ${USER}):$(id -g ${USER}) icloud-photos-sync:latest \
docker run -v "$DIR:/opt/icloud-photos-library" -u $(id -u ${USER}):$(id -g ${USER}) $IMAGE_NAME \
-u "$TEST_APPLE_ID_USER" \
-p "$TEST_APPLE_ID_PWD" \
-T "$TEST_TRUST_TOKEN" \
Expand Down

0 comments on commit 855f5cc

Please sign in to comment.