Skip to content

Instantly share code, notes, and snippets.

@nkallen
nkallen / gist:114639
Created May 20, 2009 05:39
Using ScalaCheck to Fuzz a distributed datastore
package com.twitter.service.flock.edges.check
import scala.collection.immutable.HashMap
import org.scalacheck._
import net.lag.configgy.{Config, Configgy}
import org.specs.{ScalaCheck, Specification}
object EdgesSpec extends Specification with ScalaCheck with Waiter {
Configgy.configure(System.getProperty("basedir") + "/config/test.conf")
val username = System.getProperty("db.test.user")
class RequestWrapper(request: HttpServletRequest) extends javax.servlet.http.HttpServletRequestWrapper(request) {
override def getHeaders(name: String): java.util.Enumeration[_] = {
if (!ForwardRequest.hopByHopHeaders.contains(name))
super.getHeaders(name)
else
java.util.Collections.enumeration(new ArrayList)
}
}
module Cash
class Lock
def self.synchronize(*args, &block)
$lock.synchronize(*args, &block)
end
end
module Accessor
module ClassMethods
alias_method :expire_cache, :expire
package com.twitter.service.cachet.test.unit
import com.twitter.service.cachet._
import org.joda.time.DateTime
import javax.servlet.http._
import org.specs._
import org.specs.mock._
import org.specs.mock.JMocker._
import com.twitter.service.cachet.test.mock._
module ActsAsCached
class LocalCache
delegate :respond_to?, :to => :@remote_cache
def initialize(remote_cache)
@remote_cache = remote_cache
end
def cache_locally
@remote_cache = LocalCacheBuffer.new(original_cache = @remote_cache)
namespace :britt do
desc 'Removes trailing whitespace'
task :space do
sh %{find . -name '*.rb' -exec sed -i '' 's/ *$//g' {} \\;}
end
end
test "Stale objects are expired, but served from cache for a grace period"
shell "/Users/pivotal/workspace/freshyfresh/target/memset version:test 2"
server s {
rxreq
expect req.url == "/"
txresp -status 200 -hdr "ETag: 1" -hdr "X-Generation-Key: version:test"
} -start
test "Stale objects are expired, but served from cache for a grace period"
shell "/Users/pivotal/workspace/freshyfresh/target/memset version:test 2"
server s {
rxreq
expect req.url == "/"
txresp -status 200 -hdr "ETag: 1" -hdr "X-Generation-Key: version:test"
} -start
test "Stale objects are expired, but served from cache for a grace period"
shell "/Users/pivotal/workspace/freshyfresh/target/memset version:test 2"
server s {
rxreq
expect req.url == "/"
txresp -status 200 -hdr "ETag: 1" -hdr "X-Generation-Key: version:test"
} -start
test "Stale objects are expired, but served from cache for a grace period"
shell "/Users/pivotal/workspace/freshyfresh/bin/memset version:test 2"
server s {
rxreq
expect req.url == "/"
txresp -status 200 -hdr "ETag: 1" -hdr "X-Generation-Key: version:test"
} -start