no more waiting for api - android stub server

9
Android Stub Server by Makes Android development more bearable

Upload: sylwester-madej

Post on 02-Jul-2015

253 views

Category:

Mobile


3 download

DESCRIPTION

Presentation for FlashTalk I gave at MobileWarsaw meetup. Describes new Open Source library AndroidStubServer, that we have released, which we use internaly @ byoutline.com, to minimize API dependency of our development process. Link to source: https://github.com/byoutline/AndroidStubServer

TRANSCRIPT

Page 1: No more waiting for API - Android Stub Server

Android Stub Server

by

Makes Android development more bearable

Page 2: No more waiting for API - Android Stub Server

2

Is API there yet?

Page 3: No more waiting for API - Android Stub Server

3

Common problems with API

Api done in parallel with app

Hard to test cases or production api

Hacking offline (work on airplane, anyone?)

Screenshots without designer :)

Page 4: No more waiting for API - Android Stub Server

4

Partial solutions

Robolectric.addPendingHttpResponse

Apiary � apirary.io �

MockWebServer� github.com/square/okhttp/tree/master/mockwebserver �

Mock Server� mock-server.com �

Page 5: No more waiting for API - Android Stub Server

5

Our Solution

Android Stub Server� github.com/byoutline/AndroidStubServer �

One line in build.gradle

One line in Application

Serve static files from assets+ =

compile ‘com.byoutline.androidstubserver:stubserver:1.1.+’AndroidStubServer.start(context);

config.json define api by request/response pairs

Page 6: No more waiting for API - Android Stub Server

6

Custom requests{ “port”: 8098, “requests”: [ { “method”: “GET”, “path”: “/books”, “response file”: “books.json” }, { “method”: “POST”, “path”: { “base”: “/authentication/login”, “queries”: { “username”: “user”, “password”: “pass1234” } }, “code”: 200, “response”: “OK”, “response headers”: { “Set-Cookie”: “JSESSIONID=ABCDE” } },

{ “method”: “DELETE”, “path”: { “urlPattern”: “/books/[0-9]+”, “queries”: { “otp”: “.*” } }, “code”: 204, “response”: “” } ]}

Page 7: No more waiting for API - Android Stub Server

7

Why this lib?

Starts with app

Dead simple setup 2 lines + config.json

Can be deployed on any device

Works offlineno more “API is down”

Suport for response files and static files

Page 8: No more waiting for API - Android Stub Server

8

To do

Header matching

Assertions?

Better configurationBased on � mock-server.com �

Page 9: No more waiting for API - Android Stub Server

9

Sylwester MadejCEO & Head Developer

[email protected]

Sebastian KacprzakSolutions Architect

[email protected] � byoutline.com �