Skip to content

Commit a0e2287

Browse files
committed
Specs cleanup
1 parent 768f6cf commit a0e2287

File tree

10 files changed

+47
-66
lines changed

10 files changed

+47
-66
lines changed

src/test/scala/com/sfxcode/nosql/mongo/TestDatabase.scala

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,12 @@ package com.sfxcode.nosql.mongo
22

33
import com.sfxcode.nosql.mongo.database.DatabaseProvider
44
import com.sfxcode.nosql.mongo.model._
5-
import org.mongodb.scala._
5+
import org.bson.codecs.configuration.CodecRegistries._
6+
import org.mongodb.scala.bson.codecs.Macros._
67

7-
object TestDatabase extends ObservableImplicits {
8+
object TestDatabase {
89

9-
val mongoClient: MongoClient = MongoClient()
10-
11-
import org.bson.codecs.configuration.CodecRegistries._
12-
import org.mongodb.scala.bson.codecs.Macros._
13-
14-
private val registry = fromProviders(classOf[Person], classOf[Friend], classOf[CodecTest])
10+
private val registry = fromProviders(classOf[Person], classOf[Friend], classOf[CodecTest])
1511
private val universityRegistry = fromProviders(classOf[Student], classOf[Score], classOf[Grade])
1612

1713
val provider =
@@ -24,17 +20,7 @@ object TestDatabase extends ObservableImplicits {
2420
object CodecDao extends MongoDAO[CodecTest](provider, "codec:codec-test")
2521

2622
object StudentDAO extends MongoDAO[Book](provider, "university-students")
27-
object GradeDAO extends MongoDAO[Book](provider, "university-grades")
2823

29-
def printDatabaseStatus(): Unit = {
30-
val count: Long = PersonDAO.count()
31-
printDebugValues("Database Status", "%s rows for collection person found".format(count))
32-
}
33-
34-
def printDebugValues(name: String, result: Any): Unit = {
35-
println()
36-
println(name)
37-
println(result)
38-
}
24+
object GradeDAO extends MongoDAO[Book](provider, "university-grades")
3925

4026
}

src/test/scala/com/sfxcode/nosql/mongo/dao/PersonDAOSpec.scala

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,7 @@ import com.sfxcode.nosql.mongo.TestDatabase.PersonDAO
66
import org.specs2.mutable.Specification
77
import org.specs2.specification.BeforeAll
88

9-
class PersonDAOSpec extends Specification with BeforeAll {
10-
sequential
11-
12-
override def beforeAll(): Unit = {
13-
PersonDAO.drop().result()
14-
PersonDAO.importJsonFile(File(Resource.getUrl("json/people.json"))).result()
15-
}
9+
class PersonDAOSpec extends PersonSpecification {
1610

1711
"PersonDAO" should {
1812

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.sfxcode.nosql.mongo.dao
2+
3+
import better.files.{ File, Resource }
4+
import com.sfxcode.nosql.mongo.TestDatabase._
5+
import com.sfxcode.nosql.mongo._
6+
import org.specs2.mutable.Specification
7+
import org.specs2.specification.BeforeAll
8+
9+
abstract class PersonSpecification extends Specification with BeforeAll {
10+
11+
sequential
12+
13+
override def beforeAll(): Unit = {
14+
PersonDAO.drop().result()
15+
PersonDAO.importJsonFile(File(Resource.getUrl("json/people.json"))).result()
16+
}
17+
18+
}

src/test/scala/com/sfxcode/nosql/mongo/database/DatabaseSpec.scala

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

src/test/scala/com/sfxcode/nosql/mongo/database/DocumentExtensionsSpec.scala

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,14 @@ import java.text.SimpleDateFormat
55
import better.files.{ File, Resource }
66
import com.sfxcode.nosql.mongo._
77
import com.sfxcode.nosql.mongo.TestDatabase.PersonDAO
8+
import com.sfxcode.nosql.mongo.dao.PersonSpecification
89
import com.sfxcode.nosql.mongo.model.Person
910
import org.json4s.DefaultFormats
1011
import org.json4s.native.Serialization.read
1112
import org.mongodb.scala.Document
1213
import org.specs2.specification.BeforeAll
1314

14-
class DocumentExtensionsSpec extends DatabaseSpec with BeforeAll {
15-
16-
override def beforeAll(): Unit = {
17-
PersonDAO.drop().result()
18-
PersonDAO.importJsonFile(File(Resource.getUrl("json/people.json"))).result()
19-
}
15+
class DocumentExtensionsSpec extends PersonSpecification {
2016

2117
"Document" should {
2218

@@ -35,9 +31,9 @@ class DocumentExtensionsSpec extends DatabaseSpec with BeforeAll {
3531
"be converted to plain json " in {
3632
val document: Document = PersonDAO.Raw.find(Map("id" -> 11)).result()
3733

38-
val s = document.asPlainJson
34+
val s = document.asPlainJson
3935
implicit val formats = DefaultFormats
40-
val person: Person = read[Person](s)
36+
val person: Person = read[Person](s)
4137
person.id mustEqual 11
4238

4339
val tags = person.tags

src/test/scala/com/sfxcode/nosql/mongo/operation/AggregationSpec.scala

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package com.sfxcode.nosql.mongo.operation
33
// #agg_imports
44
import com.sfxcode.nosql.mongo.Aggregate._
55
import com.sfxcode.nosql.mongo._
6+
import com.sfxcode.nosql.mongo.dao.PersonSpecification
7+
import org.specs2.specification.BeforeAll
68
// #agg_imports
79

810
import com.sfxcode.nosql.mongo.TestDatabase._
@@ -11,9 +13,7 @@ import org.mongodb.scala.model.Aggregates.{ filter, group, sort }
1113
import org.mongodb.scala.model.Filters.{ and, equal }
1214
import org.specs2.mutable.{ Before, Specification }
1315

14-
class AggregationSpec extends Specification with Before {
15-
16-
sequential
16+
class AggregationSpec extends PersonSpecification {
1717

1818
// #agg_stages
1919
val filterStage: Bson = filter(and(equal("gender", "female"), notNullFilter("balance")))
@@ -57,5 +57,4 @@ class AggregationSpec extends Specification with Before {
5757

5858
}
5959

60-
override def before: Any = printDatabaseStatus()
6160
}

src/test/scala/com/sfxcode/nosql/mongo/operation/BaseSpec.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@ package com.sfxcode.nosql.mongo.operation
22

33
import com.sfxcode.nosql.mongo.TestDatabase._
44
import com.sfxcode.nosql.mongo._
5+
import com.sfxcode.nosql.mongo.dao.PersonSpecification
56
import com.sfxcode.nosql.mongo.model.Book
67
import org.mongodb.scala.result.InsertOneResult
78
import org.specs2.mutable.Specification
89
import org.specs2.specification.BeforeAll
910

10-
class BaseSpec extends Specification with BeforeAll {
11+
class BaseSpec extends PersonSpecification {
1112

1213
sequential
1314

src/test/scala/com/sfxcode/nosql/mongo/operation/CrudSpec.scala

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,25 @@ package com.sfxcode.nosql.mongo.operation
22

33
import com.sfxcode.nosql.mongo.TestDatabase._
44
import com.sfxcode.nosql.mongo._
5+
import com.sfxcode.nosql.mongo.dao.PersonSpecification
56
import com.sfxcode.nosql.mongo.model.CodecTest
67
import org.specs2.mutable.Specification
8+
import org.specs2.specification.BeforeAll
79

8-
class CrudSpec extends Specification {
10+
class CrudSpec extends PersonSpecification {
911

1012
sequential
1113

14+
override def beforeAll(): Unit = {
15+
super.beforeAll()
16+
CodecDao.drop().result()
17+
CodecDao.insertOne(CodecTest()).result()
18+
}
19+
1220
"Crud Operations" should {
1321

1422
"create Documents in" in {
15-
CodecDao.drop().result()
16-
CodecDao.insertOne(CodecTest()).result()
23+
1724
CodecDao.count().result() must be equalTo 1
1825
val findOneResult = CodecDao.find("id", 1).resultOption()
1926
findOneResult must beSome[CodecTest]

src/test/scala/com/sfxcode/nosql/mongo/operation/IndexSpec.scala

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@ package com.sfxcode.nosql.mongo.operation
22

33
import com.sfxcode.nosql.mongo.TestDatabase._
44
import com.sfxcode.nosql.mongo._
5+
import com.sfxcode.nosql.mongo.dao.PersonSpecification
56
import com.sfxcode.nosql.mongo.database.MongoIndex
67
import org.specs2.mutable.Specification
78
import org.specs2.specification.BeforeAll
89

9-
class IndexSpec extends Specification with BeforeAll {
10-
11-
sequential
10+
class IndexSpec extends PersonSpecification {
1211

1312
"Base Index Operations" should {
1413

@@ -91,6 +90,4 @@ class IndexSpec extends Specification with BeforeAll {
9190

9291
}
9392

94-
override def beforeAll: Unit = BookDAO.drop().result()
95-
9693
}

src/test/scala/com/sfxcode/nosql/mongo/operation/SearchSpec.scala

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,11 @@ import better.files.{ File, Resource }
44
import com.sfxcode.nosql.mongo.Sort._
55
import com.sfxcode.nosql.mongo.TestDatabase._
66
import com.sfxcode.nosql.mongo._
7-
import com.sfxcode.nosql.mongo.database.DatabaseSpec
7+
import com.sfxcode.nosql.mongo.dao.PersonSpecification
88
import com.sfxcode.nosql.mongo.model.Person
99
import org.specs2.specification.BeforeAll
1010

11-
class SearchSpec extends DatabaseSpec with BeforeAll {
12-
13-
override def beforeAll(): Unit = {
14-
PersonDAO.drop().result()
15-
PersonDAO.importJsonFile(File(Resource.getUrl("json/people.json"))).result()
16-
}
11+
class SearchSpec extends PersonSpecification {
1712

1813
"Search Operations" should {
1914

0 commit comments

Comments
 (0)