Skip to content

Instantly share code, notes, and snippets.

View chbatey's full-sized avatar
🐯
WFH

Christopher Batey chbatey

🐯
WFH
View GitHub Profile
@chbatey
chbatey / Application.java
Last active August 29, 2015 14:16
Metric and Graphite
@Inject
private Session session;
@Inject
private MetricRegistry metricRegistry;
@Bean
public MetricRegistry metricRegistry() {
return session.getCluster().getMetrics().getRegistry();
}
@chbatey
chbatey / deps-build.groovy
Created February 23, 2015 20:17
Dependencies for metrics
compile("org.springframework.boot:spring-boot-starter-actuator")
compile("com.datastax.cassandra:cassandra-driver-core:${cassandraDriverVersion}")
compile("com.datastax.cassandra:cassandra-driver-mapping:${cassandraDriverVersion}")
compile("io.dropwizard.metrics:metrics-core:3.1.0")
compile("io.dropwizard.metrics:metrics-graphite:3.1.0")
class BasicSimulation extends Simulation {
val app: ConfigurableApplicationContext = SpringApplication.run(classOf[Application])
Runtime.getRuntime.addShutdownHook(new Thread() {
override def run(): Unit = app.stop()
})
val httpConf = http
.baseURL("http://localhost:8080")
.doNotTrackHeader("1")
task runLoadTest(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath + sourceSets.test.runtimeClasspath + sourceSets.e2eTest.runtimeClasspath
jvmArgs = [ '-Dgatling.core.directory.binaries=./build/classes/e2eTest' ]
// Gatling application
main = "io.gatling.app.Gatling"
// Specify the simulation to run
args = Eval.me("['-s', 'BasicSimulation']")
}
package info.batey.killrauction;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(features = "src/e2etest/resources/" )
public class RunEndToEndTests {
@chbatey
chbatey / gradle-cucumber.groovy
Last active August 29, 2015 14:15
Cucumber dependencies
dependencies {
// cucumber tests
testCompile("org.springframework.boot:spring-boot-starter-test")
testCompile("info.cukes:cucumber-junit:${cucumberVersion}")
testCompile("info.cukes:cucumber-spring:${cucumberVersion}")
// for performance testing
testCompile "org.scala-lang:scala-library:2.11.5"
testCompile "io.gatling:gatling-app:${gatlingVersion}"
testCompile "io.gatling.highcharts:gatling-charts-highcharts:${gatlingVersion}"
@chbatey
chbatey / build.groovy
Created February 23, 2015 18:07
Adding E2E source sets
sourceSets {
e2eTest {
java {
srcDir 'src/e2etest/java'
}
resources {
srcDir 'src/e2etest/resources'
}
compileClasspath += sourceSets.main.runtimeClasspath
compileClasspath += sourceSets.test.compileClasspath
public class UserWithSalt extends User {
private Long salt;
public UserWithSalt(String username, Long salt, String password, Collection<? extends GrantedAuthority> authorities) {
super(username, password, authorities);
this.salt = salt;
}
public Long getSalt() {
return salt;
@chbatey
chbatey / CassandraUserDetailsService.java
Created February 23, 2015 17:20
Example UserDetailsService
@Component
public class CassandraUserDetailsService implements UserDetailsService {
private AuctionUserDao auctionUserDao;
@Inject
public CassandraUserDetailsService(AuctionUserDao auctionUserDao) {
this.auctionUserDao = auctionUserDao;
}
@chbatey
chbatey / AuctionUserDao.java
Last active August 29, 2015 14:15
UserDao
public interface AuctionUserDao {
public boolean createUser(UserCreate userCreate);
public Optional<AuctionUser> retrieveUser(String userName);
}