forked from serenity-bdd/serenity-core
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial move over to Serenity from Thucydides
- Loading branch information
0 parents
commit 3049d14
Showing
2,023 changed files
with
304,921 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
test*.db | ||
.project | ||
.gradle | ||
.ignore | ||
.settings | ||
target | ||
.idea | ||
.classpath | ||
.checkstyle | ||
*.log | ||
*.log.* | ||
*.iml | ||
*.versionsBackup | ||
interpolated-*.xml | ||
*.iws | ||
*.ipr | ||
out | ||
*.ignore | ||
build | ||
bin | ||
thucydides-arquillian | ||
tools | ||
*.sublime-project | ||
*.sublime-workspace | ||
.hg* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
language: java | ||
before_install: | ||
- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - | ||
- sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' | ||
- wget -N http://chromedriver.storage.googleapis.com/2.11/chromedriver_linux64.zip | ||
- unzip chromedriver_linux64.zip | ||
- chmod +x chromedriver | ||
- sudo mv -f chromedriver /usr/local/share/chromedriver | ||
- sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver | ||
- sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver | ||
- sudo apt-get update | ||
- sudo apt-get install unzip | ||
- sudo apt-get install google-chrome-stable | ||
- "export DISPLAY=:99.0" | ||
- "sh -e /etc/init.d/xvfb start" | ||
|
||
script: gradle clean test integrationTests browserTests | ||
|
||
cache: | ||
directories: | ||
- apt | ||
- $HOME/.m2 | ||
- $HOME/.gradle | ||
- $HOME/tools |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
## Serenity - that feeling you get when you know you can trust your tests | ||
|
||
Serenity (previously known as 'Thucydides') is a library designed to make writing automated acceptance tests easier, | ||
and more fun. | ||
|
||
## What does it do? | ||
|
||
Serenity helps structure your automated acceptance tests in order to make them easier to understand and maintain, | ||
and provides great reporting capabilties on top of tools like JBehave, Cucumber or JUnit. It also provides tight integration | ||
with WebDriver, to make automated web testing easier and more efficient. | ||
|
||
Serenity works in two ways: | ||
- It instruments your test code and reports on the steps that your tests execute to achieve their goals, and stores the test | ||
results in a standardized format; | ||
- It aggregates these test results into clear and meaningful reports, that reflect not only the outcomes of your tests, | ||
but also the status of your project. For example, you can get Serenity to report on what requirements, features or stories | ||
you have implemented, and how well (or not) they were tested. | ||
|
||
## History - Serenity and Thucydides | ||
|
||
Serenity was originally called [Thucydides](https://github.com/thucydides-webtests), and the package structure still reflects this history. | ||
Thucydides is discussed at length in the [BDD in Action](http://www.amazon.com/BDD-Action-Behavior-driven-development-lifecycle/dp/161729165X) | ||
under the name *Thucydides* - everything discussed in "BDD in Action" is directly applicable for Serenity except for the artifact names. | ||
|
||
*Thucydides* was renamed *Serenity* in November 2014, and moving forward, all new work will be done on Serenity. The artifact names reflect this change, e.g. | ||
- *net.thucydides:thucydides-code* becomes *net.serenity:core* | ||
- *net.thucydides:thucydides-junit* becomes *net.serenity:serenity-junit* | ||
- *net.thucydides:thucydides-jbehave* becomes *net.serenity:serenity-jbehave* | ||
- *net.thucydides:thucydides-cucumber* becomes *net.serenity:serenity-cucumber* | ||
|
||
and so on. | ||
|
||
## Useful links | ||
|
||
COMING SOON | ||
|
||
## Licensing | ||
|
||
This distribution, as a whole, is licensed under the terms of the Apache License, Version 2.0 | ||
|
||
[![Build Status](https://snap-ci.com/thucydides-webtests/thucydides/branch/master/build_image)](https://snap-ci.com/thucydides-webtests/thucydides/branch/master) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,226 @@ | ||
buildscript { | ||
repositories { | ||
jcenter() | ||
maven { | ||
url 'https://geonet.artifactoryonline.com/geonet/public-releases' | ||
} | ||
} | ||
dependencies { | ||
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:0.6' | ||
classpath 'nz.org.geonet:gradle-build-version-plugin:1.0.4' | ||
} | ||
} | ||
|
||
allprojects { | ||
apply plugin: 'java' | ||
apply plugin: 'groovy' | ||
apply plugin: 'eclipse' | ||
apply plugin: 'idea' | ||
apply plugin: 'maven' | ||
apply plugin: 'maven-publish' | ||
apply plugin: 'com.jfrog.bintray' | ||
apply plugin: 'build-version' | ||
|
||
|
||
buildVersion { | ||
releaseTagPattern = "^v(\\d+\\.\\d+\\.\\d+)" | ||
} | ||
|
||
sourceCompatibility = 1.7 | ||
targetCompatibility = 1.7 | ||
group = 'net.serenity' | ||
version = buildVersion.version | ||
|
||
repositories { | ||
mavenLocal() | ||
jcenter() | ||
} | ||
|
||
ext { | ||
bintrayBaseUrl = 'https://api.bintray.com/maven' | ||
bintrayRepository = 'maven' | ||
bintrayPackage = 'serenity-core' | ||
projectDescription = 'Serenity core libraries' | ||
if (!project.hasProperty("bintrayUsername")) { | ||
bintrayUsername = 'wakaleo' | ||
} | ||
if (!project.hasProperty("bintrayApiKey")) { | ||
bintrayApiKey = '' | ||
} | ||
} | ||
|
||
task wrapper(type: Wrapper) { | ||
gradleVersion = '2.1' | ||
} | ||
|
||
test { | ||
exclude '**/*$*' | ||
exclude '**/integration/**' | ||
exclude '**/samples/**' | ||
exclude '**/*Sample*' | ||
minHeapSize = "128m" | ||
maxHeapSize = "512m" | ||
jvmArgs '-XX:MaxPermSize=256m' | ||
} | ||
|
||
task integrationTests(type: Test) { | ||
exclude '**/*$*' | ||
exclude '**/samples/**' | ||
exclude '**/*Sample*' | ||
exclude '**/integration/browsers**' | ||
include '**/integration/**' | ||
reports.junitXml.destination = "${buildDir}/reports/integration-tests" | ||
reports.html.destination = "${buildDir}/reports/integration-tests" | ||
minHeapSize = "128m" | ||
maxHeapSize = "1024m" | ||
jvmArgs '-XX:MaxPermSize=256m' | ||
} | ||
|
||
test { | ||
testLogging { | ||
exceptionFormat = 'full' | ||
} | ||
} | ||
|
||
integrationTests { | ||
testLogging { | ||
exceptionFormat = 'full' | ||
} | ||
} | ||
|
||
|
||
task browserTests(type: Test) { | ||
exclude '**/*$*' | ||
exclude '**/samples/**' | ||
exclude '**/*Sample*' | ||
exclude '**/*Base' | ||
include '**/integration/browsers/**' | ||
} | ||
|
||
task javadoc(type: Javadoc, overwrite:true) { | ||
source = sourceSets.main.allJava | ||
options.memberLevel = JavadocMemberLevel.PUBLIC | ||
options.addStringOption('views') | ||
options.addStringOption('all') | ||
options.addStringOption('quiet') | ||
options.addStringOption('qualify') | ||
options.addStringOption('Xdoclint:none') | ||
classpath = configurations.compile | ||
} | ||
|
||
// integrationTests.dependsOn test | ||
check.dependsOn -= integrationTests | ||
|
||
|
||
dependencies { | ||
compile "com.google.inject:guice:3.0" | ||
compile "org.slf4j:slf4j-api:1.6.4" | ||
testCompile "ch.qos.logback:logback-classic:1.0.13" | ||
testCompile "junit:junit:4.11" | ||
testCompile "org.hamcrest:hamcrest-integration:1.3" | ||
testCompile "org.hamcrest:hamcrest-library:1.3" | ||
testCompile "org.hamcrest:hamcrest-core:1.3" | ||
testCompile('org.mockito:mockito-all:1.10.8') { | ||
exclude group: "org.hamcrest" | ||
} | ||
testCompile("org.spockframework:spock-core:0.7-groovy-2.0") { | ||
exclude group: "junit" | ||
} | ||
testCompile("com.github.goldin:spock-extensions:0.1.4") { | ||
exclude module: "spock-core" | ||
} | ||
testCompile("org.codehaus.groovy:groovy-all:2.3.3") | ||
testCompile("org.easytesting:fest-assert:1.4") | ||
} | ||
|
||
bintray { | ||
user = bintrayUsername //this usually comes form gradle.properties file in ~/.gradle | ||
key = bintrayApiKey //this usually comes form gradle.properties file in ~/.gradle | ||
publications = ['mavenJava'] // see publications closure | ||
pkg { | ||
repo = 'maven' | ||
userOrg = 'serenity' | ||
name = 'serenity-core' | ||
desc = 'Serenity core libraries' | ||
licenses = ['Apache-2.0'] | ||
labels = ['serenity','bdd'] | ||
} | ||
} | ||
} | ||
|
||
subprojects { | ||
task sourcesJar(type: Jar, dependsOn: classes) { | ||
classifier = 'sources' | ||
from sourceSets.main.allSource | ||
} | ||
|
||
task javadocJar(type: Jar, dependsOn: javadoc) { | ||
classifier = 'javadoc' | ||
from javadoc.destinationDir | ||
} | ||
|
||
artifacts { | ||
archives sourcesJar, javadocJar | ||
} | ||
|
||
|
||
publishing { | ||
publications { | ||
mavenJava(MavenPublication) { | ||
|
||
println "Publishing $project.name:$project.group:$project.version" | ||
|
||
from components.java | ||
|
||
artifact sourcesJar { | ||
classifier "sources" | ||
} | ||
|
||
artifact javadocJar { | ||
classifier "javadoc" | ||
} | ||
|
||
pom.withXml { | ||
asNode().children().last() + { | ||
resolveStrategy = Closure.DELEGATE_FIRST | ||
name "$project.name" | ||
description "$projectDescription" | ||
|
||
url 'https://github.com/serenity-bdd/$project.name' | ||
scm { | ||
url 'scm:git:[email protected]:serenity-bdd/$project.name.git' | ||
connection 'scm:git:[email protected]:serenity-bdd/$project.name.git' | ||
developerConnection 'scm:git:[email protected]:serenity-bdd/$project.name.git' | ||
} | ||
licenses { | ||
license { | ||
name 'The Apache Software License, Version 2.0' | ||
url 'http://www.apache.org/license/LICENSE-2.0.txt' | ||
distribution 'repo' | ||
} | ||
} | ||
developers { | ||
developer { | ||
id 'johnsmart' | ||
name 'John Ferguson Smart' | ||
email '[email protected]' | ||
} | ||
} | ||
} | ||
// Preserve compile-scope dependencies | ||
asNode().dependencies.'*'.findAll() { | ||
it.scope.text() == 'runtime' && project.configurations.compile.allDependencies.find { dep -> | ||
dep.name == it.artifactId.text() | ||
} | ||
}.each() { | ||
it.scope*.value = 'compile' | ||
} | ||
} | ||
} | ||
} | ||
} | ||
|
||
tasks.withType(JavaCompile) { | ||
options.compilerArgs << "-Xlint:-options" | ||
} | ||
} |
24 changes: 24 additions & 0 deletions
24
buildSrc/src/main/groovy/net/thucydides/builds/ProjectVersion.groovy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
package net.thucydides.builds | ||
|
||
class ProjectVersion { | ||
final Integer major | ||
final Integer minor | ||
final String build | ||
|
||
ProjectVersion(Integer major, Integer minor, String build) { | ||
this.major = major | ||
this.minor = minor | ||
this.build = build | ||
} | ||
|
||
@Override | ||
String toString() { | ||
String fullVersion = "$major.$minor" | ||
if (build) { | ||
fullVersion += ".$build" | ||
} else { | ||
fullVersion += "-SNAPSHOT" | ||
} | ||
fullVersion | ||
} | ||
} |
Oops, something went wrong.