Skip to content

Instantly share code, notes, and snippets.

@bikisuke
Created May 8, 2015 00:10
Show Gist options
  • Save bikisuke/8f0e1be7a5239260c197 to your computer and use it in GitHub Desktop.
Save bikisuke/8f0e1be7a5239260c197 to your computer and use it in GitHub Desktop.
class SimpleMockServer {
private File dir
private List responses = []
private FilePointer pointer
void loadFiles() {
responses = new JsonReader(dir).read()
pointer = new FilePointer(responses.size())
}
void run() {
//
}
def getResponse() {
responses[pointer.next()]
}
}
class Launcher {
static void main(String[] args) {
def dir = '/Users/bikisuke/sandbox/gradle/simple-mock-server/data'
// def dir = args[0]
def dataDir = new File(dir)
def server = new SimpleMockServer(dir:dataDir)
server.loadFiles()
server.run()
}
}
class FilePointer {
int maxFileSize
int current = -1
FilePointer(maxFileSize) {
this.maxFileSize = maxFileSize
}
int next() {
if(maxFileSize == 0) new RuntimeException()
current == maxFileSize-1? reset() : ++current
}
int reset() {
current = 0
current
}
}
import groovy.json.JsonSlurper
class JsonReader {
def slurper = new JsonSlurper()
def dataDir
List read() {
def responses = []
dataDir.eachFile { file ->
responses << slurper.parseText(file.text)
}
responses
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment