Created
May 8, 2015 00:10
-
-
Save bikisuke/8f0e1be7a5239260c197 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
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