Skip to content

Commit e57f394

Browse files
authored
DAS-459 send emails with AWS SES (#90)
1 parent 45df029 commit e57f394

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+132
-810
lines changed

README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,6 @@ You will also need to extend project build settings to include the new plug, ple
4040
The following configuration parameters need to be provided as environment variables:
4141

4242
- `APPLICATION_SECRET` - application secret
43-
- `MAILER_HOST` - mailer system host<sup>*</sup>
44-
- `MAILER_PORT` - mailer system port<sup>*</sup>
45-
- `MAILER_USER` - mailer system username<sup>*</sup>
46-
- `MAILER_PASSWORD` - mailer system password<sup>*</sup>
4743
- `MAILER_FROM` - email `From` field value<sup>*</sup>
4844
- `HAT_USER` - username of the dedicated dataplug account on HATs
4945
- `HAT_PASSWORD` - password of the dedicated dataplug account on HATs

build.sbt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,22 +55,21 @@ val dataplug = project
5555
Library.Play.Jwt.bouncyCastle,
5656
Library.Play.Jwt.bouncyCastlePkix,
5757
Library.Play.Jwt.nimbusDsJwt,
58-
Library.Play.mailer,
59-
Library.Play.mailerGuice,
6058
Library.Play.playSlick,
6159
Library.Play.Silhouette.cryptoJca,
6260
Library.Play.Silhouette.passwordBcrypt,
6361
Library.Play.Silhouette.persistence,
6462
Library.Play.Silhouette.silhouette,
65-
Library.Play.test,
6663
Library.Play.typesafeConfigExtras,
6764
Library.Play.Utils.playBootstrap,
6865
Library.Play.ws,
69-
Library.Specs2.core,
70-
Library.Specs2.matcherExtra,
71-
Library.Specs2.mock,
7266
Library.Utils.apacheCommonLang,
73-
Library.scalaGuice
67+
Library.AwsV1.awsJavaSesSdk,
68+
Library.scalaGuice,
69+
Library.Play.test % Test,
70+
Library.Specs2.core % Test,
71+
Library.Specs2.matcherExtra % Test,
72+
Library.Specs2.mock % Test
7473
)
7574
)
7675
.enablePlugins(PlayScala, SbtWeb, SbtSassify)
@@ -90,7 +89,7 @@ lazy val dataplugFacebook = Project(id = "dataplug-facebook", base = file("datap
9089
.settings(buildSettings)
9190
.enablePlugins(AshScriptPlugin)
9291
.settings(packageSettings)
93-
.dependsOn(dataplug)
92+
.dependsOn(dataplug % "test->test;compile->compile")
9493

9594
lazy val dataplugTwitter = Project(id = "dataplug-twitter", base = file("dataplug-twitter"))
9695
.enablePlugins(BasicSettings)
@@ -114,7 +113,7 @@ lazy val dataplugGcalendar = Project(id = "dataplug-gcalendar", base = file("dat
114113
.settings(buildSettings)
115114
.enablePlugins(AshScriptPlugin)
116115
.settings(packageSettings)
117-
.dependsOn(dataplug)
116+
.dependsOn(dataplug % "test->test;compile->compile")
118117

119118
lazy val dataplugMonzo = Project(id = "dataplug-monzo", base = file("dataplug-monzo"))
120119
.enablePlugins(BasicSettings)
@@ -175,7 +174,7 @@ lazy val dataplugInstagram = Project(id = "dataplug-instagram", base = file("dat
175174
.settings(buildSettings)
176175
.enablePlugins(AshScriptPlugin)
177176
.settings(packageSettings)
178-
.dependsOn(dataplug)
177+
.dependsOn(dataplug % "test->test;compile->compile")
179178

180179
lazy val dataplugUber = Project(id = "dataplug-uber", base = file("dataplug-uber"))
181180
.enablePlugins(BasicSettings)

dataplug-facebook/conf/application.conf

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,6 @@ play {
2323
}
2424
}
2525

26-
play.mailer {
27-
host = ${?MAILER_HOST}
28-
port = ${?MAILER_PORT}
29-
user = ${?MAILER_USER}
30-
password = ${?MAILER_PASSWORD}
31-
ssl = false
32-
tls = true
33-
mock = false
34-
35-
from = ${?MAILER_FROM}
36-
}
37-
3826
auth.allowedResources = ["https://facebook.dataswift.io", "https://facebook.dataswift.dev", "https://facebook.hubofallthings.net", "https://facebook.hubat.net", "https://dataplug:9443.hat.org"]
3927

4028
hat.secure = true

dataplug-facebook/conf/application.dev.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ service.scheme = "https://"
66
service.address = "dataplug.hat.org:9443"
77
service.secure = true
88

9-
play.mailer.mock = true
9+
mailer.mock = true
1010

1111
include "silhouette.staging.conf"

dataplug-facebook/conf/application.staging.conf

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,6 @@ play {
2323
}
2424
}
2525

26-
play.mailer {
27-
host = ${?MAILER_HOST}
28-
port = ${?MAILER_PORT}
29-
user = ${?MAILER_USER}
30-
password = ${?MAILER_PASSWORD}
31-
ssl = false
32-
tls = true
33-
mock = false
34-
35-
from = ${?MAILER_FROM}
36-
}
37-
3826
auth.allowedResources = ["https://facebook.dataswift.io", "https://facebook.dataswift.dev", "https://facebook.hubofallthings.net", "https://facebook.hubat.net", "https://dataplug:9443.hat.org"]
3927

4028
hat.secure = true

dataplug-facebook/test/com/hubofallthings/dataplugCalendar/GoogleCalendarInterfaceSpec.scala

Lines changed: 0 additions & 94 deletions
This file was deleted.

dataplug-facebook/test/com/hubofallthings/dataplugCalendar/GoogleCalendarListSpec.scala

Lines changed: 0 additions & 60 deletions
This file was deleted.

dataplug-fitbit/conf/application.conf

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,6 @@ play {
1515
}
1616
}
1717

18-
play.mailer {
19-
host = ${?MAILER_HOST}
20-
port = ${?MAILER_PORT}
21-
user = ${?MAILER_USER}
22-
password = ${?MAILER_PASSWORD}
23-
ssl = false
24-
tls = true
25-
mock = false
26-
27-
from = ${?MAILER_FROM}
28-
}
29-
3018
auth.allowedResources = ["https://fitbit.dataswift.io", "https://fitbit.dataswift.dev", "https://fitbit.hubofallthings.net", "https://fitbit.hubat.net", "http://dataplug.hat.org"]
3119

3220
hat.secure = true

dataplug-fitbit/conf/application.dev.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ service.scheme = "http://"
66
service.address = "dataplug.hat.org:9000"
77
service.secure = false
88

9-
play.mailer.mock = true
9+
mailer.mock = true

dataplug-gcalendar/conf/application.conf

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,6 @@ play {
1515
}
1616
}
1717

18-
play.mailer {
19-
host = ${?MAILER_HOST}
20-
port = ${?MAILER_PORT}
21-
user = ${?MAILER_USER}
22-
password = ${?MAILER_PASSWORD}
23-
ssl = false
24-
tls = true
25-
mock = false
26-
27-
from = ${?MAILER_FROM}
28-
}
29-
3018
auth.allowedResources = ["https://google-calendar.dataswift.io", "https://google-calendar.dataswift.dev", "https://google-calendar.hubofallthings.net", "https://dataplug.hat.org:9443", "https://google-calendar.hubat.net"]
3119

3220
hat.secure = true

dataplug-gcalendar/conf/application.dev.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ service.secure = true
88
service.name = "google-calendar-dev"
99
service.name = ${?TOKEN_APP_NAME}
1010

11-
play.mailer.mock = true
11+
mailer.mock = true

dataplug-gcalendar/test/com/hubofallthings/dataplugCalendar/GoogleCalendarEventsInterfaceSpec.scala

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
package com.hubofallthings.dataplugCalendar
1010

1111
import akka.util.Timeout
12-
import com.hubofallthings.dataplug.apiInterfaces.models.{DataPlugFetchContinuation, DataPlugFetchNextSync}
12+
import com.hubofallthings.dataplug.apiInterfaces.models.{ DataPlugFetchContinuation, DataPlugFetchNextSync }
1313
import com.hubofallthings.dataplug.models.User
1414
import com.hubofallthings.dataplug.services.UserService
15-
import com.hubofallthings.dataplug.testkit.{DataPlugEndpointInterfaceTestHelper, TestModule}
15+
import com.hubofallthings.dataplug.testkit.{ DataPlugEndpointInterfaceTestHelper, TestModule }
1616
import com.hubofallthings.dataplugCalendar.apiInterfaces.GoogleCalendarEventsInterface
1717
import com.mohiva.play.silhouette.api.LoginInfo
1818
import com.mohiva.play.silhouette.api.repositories.AuthInfoRepository
@@ -23,9 +23,8 @@ import org.specs2.specification.BeforeAfterAll
2323
import play.api.inject._
2424
import play.api.inject.guice.GuiceApplicationBuilder
2525
import play.api.libs.ws.WSClient
26-
import play.api.{Configuration, Logger}
26+
import play.api.{ Configuration, Logger }
2727

28-
import scala.concurrent.ExecutionContext.Implicits.global
2928
import scala.concurrent.duration._
3029

3130
class GoogleCalendarEventsInterfaceSpec(implicit val ee: ExecutionEnv) extends Specification with DataPlugEndpointInterfaceTestHelper with BeforeAfterAll {

dataplug-gcalendar/test/com/hubofallthings/dataplugCalendar/GoogleCalendarListSpec.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,20 @@ import com.mohiva.play.silhouette.impl.providers.OAuth2Info
1818
import org.specs2.concurrent.ExecutionEnv
1919
import org.specs2.mutable.Specification
2020
import org.specs2.specification.BeforeAfterAll
21-
import play.api.{Configuration, Logger}
21+
import play.api.{Configuration, Environment, Logger}
2222
import play.api.inject._
2323
import play.api.inject.guice.GuiceApplicationBuilder
2424
import play.api.libs.ws.WSClient
2525

26-
import scala.concurrent.ExecutionContext.Implicits.global
2726
import scala.concurrent.duration._
2827

2928
class GoogleCalendarListSpec(implicit val ee: ExecutionEnv) extends Specification with DataPlugEndpointInterfaceTestHelper with BeforeAfterAll {
3029

3130
val injector = new GuiceApplicationBuilder()
32-
.loadConfig(env => Configuration.load(env))
31+
.loadConfig { env =>
32+
println(env)
33+
Configuration.load(env)
34+
}
3335
.overrides(new TestModule)
3436
.overrides(bind[WSClient].toInstance(client))
3537
.build

dataplug-gcalendar/test/resources/application.test.conf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ silhouette {
1717
authenticator.cookie.signer.key = "[changeme]" // A unique encryption key
1818
authenticator.crypter.key = "[changeme]" // A unique encryption key
1919

20+
csrfStateItemHandler.signer.key = csrfkey
21+
2022
# OAuth1 token secret provider settings
2123
oauth1TokenSecretProvider.cookieName = "OAuth1TokenSecret"
2224
oauth1TokenSecretProvider.cookiePath = "/"

dataplug-instagram/conf/application.conf

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,6 @@ play {
2020
}
2121
}
2222

23-
play.mailer {
24-
host = ${?MAILER_HOST}
25-
port = ${?MAILER_PORT}
26-
user = ${?MAILER_USER}
27-
password = ${?MAILER_PASSWORD}
28-
ssl = false
29-
tls = true
30-
mock = false
31-
32-
from = ${?MAILER_FROM}
33-
}
34-
3523
auth.allowedResources = ["https://instagram.dataswift.io", "https://instagram.dataswift.dev", "https://instagram.hubofallthings.net", "https://instagram.hubat.net", "http://dataplug.hat.org", "https://dataplug.hat.org"]
3624

3725
hat.secure = true

0 commit comments

Comments
 (0)