Skip to content
This repository has been archived by the owner on Feb 27, 2024. It is now read-only.

Commit

Permalink
Merge pull request #46 from malibuworkcrew/master
Browse files Browse the repository at this point in the history
Spray 1.3.4, Wookiee Core 1.3.17, Wookiee Metrics 2.5.2, Akka 2.5.4
  • Loading branch information
malibuworkcrew committed Jan 24, 2018
2 parents 8d1052a + e66e9a7 commit 873ef23
Show file tree
Hide file tree
Showing 12 changed files with 604 additions and 707 deletions.
36 changes: 7 additions & 29 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@
<build-artifact-name>${project.artifactId}-${project.version}</build-artifact-name>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<scala.artifact.version>2.11</scala.artifact.version>
<scala.version>${scala.artifact.version}.7</scala.version>
<scoverage.plugin.version>1.1.1</scoverage.plugin.version>
<spray.version>1.3.3</spray.version>
<wookiee.core.version>1.2.3</wookiee.core.version>
<wookiee.metrics.version>1.2.5</wookiee.metrics.version>
<akka.version>2.4.9</akka.version>
<scala.version>${scala.artifact.version}.12</scala.version>
<scoverage.plugin.version>1.3.0</scoverage.plugin.version>
<spray.version>1.3.4</spray.version>
<wookiee.core.version>1.3.17</wookiee.core.version>
<wookiee.metrics.version>2.5.2</wookiee.metrics.version>
<akka.version>2.5.4</akka.version>
</properties>

<groupId>com.webtrends</groupId>
Expand Down Expand Up @@ -167,7 +167,7 @@
</dependency>
<dependency>
<groupId>io.spray</groupId>
<artifactId>spray-routing-shapeless2_${scala.artifact.version}</artifactId>
<artifactId>spray-routing-shapeless23_${scala.artifact.version}</artifactId>
<version>${spray.version}</version>
</dependency>
<dependency>
Expand Down Expand Up @@ -196,28 +196,6 @@
<artifactId>spray-websocket_${scala.artifact.version}</artifactId>
<version>0.1.4</version>
</dependency>
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_${scala.artifact.version}</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest-maven-plugin</artifactId>
<version>1.0-M2</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-testkit_${scala.artifact.version}</artifactId>
<version>${akka.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.specs2</groupId>
<artifactId>specs2-junit_${scala.artifact.version}</artifactId>
<version>2.4.15</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,16 @@ package com.webtrends.harness.component.spray.command

import akka.actor.Props
import akka.testkit.TestActorRef
import com.webtrends.harness.app.Harness
import com.webtrends.harness.command.{BaseCommandResponse, CommandBean}
import com.webtrends.harness.component.spray.{SprayManager, SprayTestConfig}
import com.webtrends.harness.component.spray.route.RouteManager
import com.webtrends.harness.component.spray.routes.BaseTestCommand
import com.webtrends.harness.component.spray.{SprayManager, SprayTestConfig}
import com.webtrends.harness.service.test.TestHarness
import org.json4s.JObject
import org.specs2.mutable.SpecificationWithJUnit
import org.scalatest.FunSuite
import spray.http._
import spray.routing.{Directives, HttpService}
import spray.testkit.Specs2RouteTest
import spray.testkit.ScalatestRouteTest

import scala.concurrent.Future

Expand All @@ -32,9 +31,9 @@ class SprayCommandResponseTestCommand extends BaseTestCommand {
}
}

class SprayCommandResponseSpec extends SpecificationWithJUnit
class SprayCommandResponseSpec extends FunSuite
with Directives
with Specs2RouteTest
with ScalatestRouteTest
with HttpService {

def actorRefFactory = system
Expand All @@ -43,14 +42,10 @@ class SprayCommandResponseSpec extends SpecificationWithJUnit
Props(new SprayCommandResponseTestCommand))(actorRefFactory)
val testActor = testCommandRef.underlyingActor

"SprayCommandResponse " should {

"use specified status code and headers" in {
Get("/test/SprayCommandResponse") ~> RouteManager.getRoute("SprayCommandResponseTest_get").get ~> check {
status mustEqual StatusCodes.Accepted
headers.exists( h => h.name == "custom" && h.value == "header") must beTrue
}
test("use specified status code and headers") {
Get("/test/SprayCommandResponse") ~> RouteManager.getRoute("SprayCommandResponseTest_get").get ~> check {
assert(status == StatusCodes.Accepted)
assert(headers.exists(h => h.name == "custom" && h.value == "header"))
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,141 +20,127 @@ package com.webtrends.harness.component.spray.directive

import com.typesafe.config.{Config, ConfigFactory}
import com.webtrends.harness.authentication.CIDRRules
import org.specs2.mutable.SpecificationWithJUnit
import org.scalatest.FunSuite
import spray.http.HttpHeaders._
import spray.http.StatusCodes
import spray.testkit.Specs2RouteTest
import spray.testkit.ScalatestRouteTest

class CIDRNoIPSpec extends SpecificationWithJUnit with Specs2RouteTest with CIDRDirectives {
class CIDRNoIPSpec extends FunSuite with ScalatestRouteTest with CIDRDirectives {

implicit var cidrRules:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.allowConf))

"the 'cidrFilter' directive" should {

"reject when there is no source ip" in {
Get("/good") ~> {
cidrFilter {
complete("good")
}
} ~> check {
status === StatusCodes.NotFound
test("reject when there is no source ip") {
Get("/good") ~> {
cidrFilter {
complete("good")
}
} ~> check {
status === StatusCodes.NotFound
}
}
}


class CIDRAllowSpec extends SpecificationWithJUnit with Specs2RouteTest with CIDRDirectives {
class CIDRAllowSpec extends FunSuite with ScalatestRouteTest with CIDRDirectives {

implicit var cidrRules:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.allowConf))

"the 'cidrFilter' directive" should {

"accept a defined address using 'allow'" in {
Get("/good") ~> addHeader(`Remote-Address`("127.0.0.1")) ~> {
cidrFilter {
complete("good")
}
} ~> check {
status === StatusCodes.OK
test("accept a defined address using 'allow'") {
Get("/good") ~> addHeader(`Remote-Address`("127.0.0.1")) ~> {
cidrFilter {
complete("good")
}
} ~> check {
status === StatusCodes.OK
}
}

"accept a defined second address using 'allow'" in {
implicit var settings:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.allowConf))
Get("/good") ~> addHeader(`Remote-Address`("10.88.16.32")) ~> {
cidrFilter {
complete("good")
}
} ~> check {
status === StatusCodes.OK
test("accept a defined second address using 'allow'") {
implicit var settings:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.allowConf))
Get("/good") ~> addHeader(`Remote-Address`("10.88.16.32")) ~> {
cidrFilter {
complete("good")
}
} ~> check {
status === StatusCodes.OK
}
}

"reject an un-defined address using 'allow'" in {
implicit var settings:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.allowConf))
Get("/bad") ~> addHeader(`Remote-Address`("216.64.169.240")) ~> {
cidrFilter {
complete("bad")
}
} ~> check {
status === StatusCodes.NotFound
test("reject an un-defined address using 'allow'") {
implicit var settings:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.allowConf))
Get("/bad") ~> addHeader(`Remote-Address`("216.64.169.240")) ~> {
cidrFilter {
complete("bad")
}
} ~> check {
status === StatusCodes.NotFound
}
}
}


class CIDRDenySpec extends SpecificationWithJUnit with Specs2RouteTest with CIDRDirectives {

class CIDRDenySpec extends FunSuite with ScalatestRouteTest with CIDRDirectives {
implicit var cidrRules:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.denyConf))

"the 'cidrFilter' directive" should {
"accept a defined address using 'deny'" in {
implicit var settings:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.denyConf))
Get("/good") ~> addHeader(`Remote-Address`("127.0.0.1")) ~> {
cidrFilter {
complete("good")
}
} ~> check {
status === StatusCodes.OK
test("accept a defined address using 'deny'") {
implicit var settings:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.denyConf))
Get("/good") ~> addHeader(`Remote-Address`("127.0.0.1")) ~> {
cidrFilter {
complete("good")
}
} ~> check {
status === StatusCodes.OK
}
}

"reject a defined address using 'deny'" in {
implicit var settings:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.denyConf))
Get("/bad") ~> addHeader(`Remote-Address`("10.88.16.32")) ~> {
cidrFilter {
complete("bad")
}
} ~> check {
status === StatusCodes.NotFound
test("reject a defined address using 'deny'") {
implicit var settings:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.denyConf))
Get("/bad") ~> addHeader(`Remote-Address`("10.88.16.32")) ~> {
cidrFilter {
complete("bad")
}
} ~> check {
status === StatusCodes.NotFound
}
}

}


class CIDRMixSpec extends SpecificationWithJUnit with Specs2RouteTest with CIDRDirectives {

class CIDRMixSpec extends FunSuite with ScalatestRouteTest with CIDRDirectives {
implicit var cidrRules:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.mixConf))

"the 'cidrFilter' directive" should {
"accept a defined address using 'mix'" in {
implicit var settings:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.mixConf))
Get("/good") ~> addHeader(`Remote-Address`("127.0.0.1")) ~> {
cidrFilter {
complete("good")
}
} ~> check {
status === StatusCodes.OK
test("accept a defined address using 'mix'") {
implicit var settings:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.mixConf))
Get("/good") ~> addHeader(`Remote-Address`("127.0.0.1")) ~> {
cidrFilter {
complete("good")
}
} ~> check {
status === StatusCodes.OK
}
}

"reject an un-defined address using 'mix'" in {
implicit var cidrRules:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.mixConf))
Get("/good") ~> addHeader(`Remote-Address`("216.64.169.240")) ~> {
cidrFilter {
complete("bad")
}
} ~> check {
status === StatusCodes.NotFound
test("reject an un-defined address using 'mix'") {
implicit var cidrRules:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.mixConf))
Get("/good") ~> addHeader(`Remote-Address`("216.64.169.240")) ~> {
cidrFilter {
complete("bad")
}
} ~> check {
status === StatusCodes.NotFound
}
}

"reject a defined second address using 'mix'" in {
implicit var settings:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.mixConf))
Get("/bad") ~> addHeader(`Remote-Address`("10.88.16.32")) ~> {
cidrFilter {
complete("bad")
}
} ~> check {
status === StatusCodes.NotFound
test("reject a defined second address using 'mix'") {
implicit var settings:Option[CIDRRules] = Some(CIDRRules(CIDRConfig.mixConf))
Get("/bad") ~> addHeader(`Remote-Address`("10.88.16.32")) ~> {
cidrFilter {
complete("bad")
}
} ~> check {
status === StatusCodes.NotFound
}
}

}

object CIDRConfig {
Expand Down
Loading

0 comments on commit 873ef23

Please sign in to comment.