Skip to content
Open
Show file tree
Hide file tree
Changes from 5 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
6 changes: 5 additions & 1 deletion Tasks/emailReportTask/config/ConfigurationProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,10 @@ 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 +105,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
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