Skip to content
Open
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
7 changes: 5 additions & 2 deletions Tasks/emailReportTask/config/ConfigurationProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,9 @@ export class ConfigurationProvider implements IConfigurationProvider {
throw new InputError("Email subject not set");
}

// From Address
const fromAddress = tl.getInput(TaskConstants.FROMADDRESS_INPUTKEY, true);

// Optional inputs
const toAddresses = tl.getInput(TaskConstants.TOADDRESS_INPUTKEY, false);
const ccAddresses = tl.getInput(TaskConstants.CCADDRESS_INPUTKEY, false);
Expand All @@ -101,7 +104,7 @@ export class ConfigurationProvider implements IConfigurationProvider {

const defaultDomain = tl.getInput(TaskConstants.DEFAULTDOMAIN_INPUTKEY, true);

this.mailConfiguration = new MailConfiguration(mailSubject, toRecipientsConfiguration, ccRecipientsConfiguration, smtpConfig, defaultDomain);
this.mailConfiguration = new MailConfiguration(fromAddress, mailSubject, toRecipientsConfiguration, ccRecipientsConfiguration, smtpConfig, defaultDomain);
}

private initReportDataConfiguration(): void {
Expand Down Expand Up @@ -166,4 +169,4 @@ export class ConfigurationProvider implements IConfigurationProvider {
default: return GroupTestResultsBy.Run;
}
}
}
}
1 change: 1 addition & 0 deletions Tasks/emailReportTask/config/TaskConstants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ export class TaskConstants {
public static readonly MAXTESTFAILURESTOSHOW_INPUTKEY = "maxTestFailuresToShow";
public static readonly GROUPTESTSUMMARYBY_INPUTKEY = "groupTestSummaryByStr";
public static readonly INCLUDERESULTS_INPUTKEY = "includeResultsStr";
public static readonly FROMADDRESS_INPUTKEY = "fromAddress";
public static readonly TOADDRESS_INPUTKEY = "toAddress";
public static readonly CCADDRESS_INPUTKEY = "ccAddress";
public static readonly INCLUDEINTO_INPUTKEY = "includeInToSectionStr";
Expand Down
12 changes: 11 additions & 1 deletion Tasks/emailReportTask/config/mail/MailConfiguration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@ import { SmtpConfiguration } from "./SmtpConfiguration";

export class MailConfiguration {

private fromAddress: string;
private mailSubject: string;
private toRecipientsConfig: RecipientsConfiguration;
private ccRecipientsConfig: RecipientsConfiguration;
private smtpConfig: SmtpConfiguration;
private defaultDomain: string;

constructor($mailSubject: string, $toRecipientsConfig: RecipientsConfiguration, $ccRecipientsConfig: RecipientsConfiguration, $smtpConfig: SmtpConfiguration, $defaultDomain: string) {
constructor($fromAddress: string, $mailSubject: string, $toRecipientsConfig: RecipientsConfiguration, $ccRecipientsConfig: RecipientsConfiguration, $smtpConfig: SmtpConfiguration, $defaultDomain: string) {
this.fromAddress = $fromAddress;
this.mailSubject = $mailSubject;
this.toRecipientsConfig = $toRecipientsConfig;
this.ccRecipientsConfig = $ccRecipientsConfig;
Expand All @@ -25,6 +27,14 @@ export class MailConfiguration {
return this.defaultDomain;
}

/**
* Getter $fromAddress
* @return {string}
*/
public get $fromAddress(): string {
return this.fromAddress;
}

/**
* Getter $mailSubject
* @return {string}
Expand Down
4 changes: 2 additions & 2 deletions Tasks/emailReportTask/model/viewmodel/MailAddressViewModel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ export class MailAddressViewModel {

private defaultDomain: string;

constructor(report: Report, mailConfig: MailConfiguration) {
this.from = mailConfig.$smtpConfig.$userName;
constructor(report: Report, mailConfig: MailConfiguration) {
this.from = StringUtils.isNullOrWhiteSpace(mailConfig.$fromAddress) ? mailConfig.$smtpConfig.$userName : mailConfig.$fromAddress;
this.defaultDomain = mailConfig.$defaultDomain;

console.log("computing email addresses for to section");
Expand Down
11 changes: 10 additions & 1 deletion Tasks/emailReportTask/task.dev.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,15 @@
"DisableManageLink": "True"
},
"groupName": "emailConfiguration"
},
{
"name": "fromAddress",
"type": "string",
"label": "From",
"defaultValue": "",
"required": false,
"helpMarkDown": "Sender email address.",
"groupName": "emailConfiguration"
},
{
"name": "toAddress",
Expand Down Expand Up @@ -231,4 +240,4 @@
"target": "Index.js"
}
}
}
}
11 changes: 10 additions & 1 deletion Tasks/emailReportTask/task.prod.json
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,15 @@
},
"groupName": "emailConfiguration"
},
{
"name": "fromAddress",
"type": "string",
"label": "From",
"defaultValue": "",
"required": false,
"helpMarkDown": "Sender email address.",
"groupName": "emailConfiguration"
},
{
"name": "toAddress",
"type": "string",
Expand Down Expand Up @@ -231,4 +240,4 @@
"target": "Index.js"
}
}
}
}
2 changes: 1 addition & 1 deletion Tasks/emailReportTask/tests/__e_to_e_tests__/InvokeTest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ export class MockConfigProvider implements IConfigurationProvider {
}

getMailConfiguration(): MailConfiguration {
return new MailConfiguration("[{environmentStatus}] {passPercentage} tests passed",
return new MailConfiguration("[email protected]", "[{environmentStatus}] {passPercentage} tests passed",
new RecipientsConfiguration("[email protected]", false, false, false, false),
new RecipientsConfiguration("", false, false, false, false),
new SmtpConfiguration(smtpUser, smtpPassword, "smtp.live.com", true), "test.com");
Expand Down