yaakaito / NLTHTTPStubServer

Fake server for iOS testing.
MIT License
73 stars 7 forks source link

starchat対応 #14

Open yaakaito opened 12 years ago

yaakaito commented 12 years ago

?????

user.streamのテストをしたいとのご要望です

yaakaito commented 12 years ago

https://github.com/slightair/StarChatBrowser/blob/master/StarChatBrowser/SCBUserStreamClient.m

これをテストできるようにすればよい

akisute commented 12 years ago

Streamっすか>< 非同期でちょっとずつレスポンスを返す NLTHTTPStubResponse があればできそうな雰囲気を感じます><

HTTPResponse はサブクラスでどうのこうのすると非同期で逐次レスポンスを返すことができるらしいのでコレを使って NLTHTTPStubAsyncResponse みたいなのを作ればいいんじゃないですかね

- (UInt64)contentLength;
- (UInt64)offset;
- (void)setOffset:(UInt64)offset;
- (NSData *)readDataOfLength:(NSUInteger)length;
- (BOOL)isDone;
// 上記のメソッドの実装内部の適当なタイミングで
// [connection responseHasAvailableData:self];
// とかすればいいらしいよ(よくわからん

data 作るところまでは NLTHTTPStubResponse と全く同じで 単に data を 1000bytes/s ぐらいのペースでちょいちょい返すようにすればそれっぽくなるのかな または後から stub response のインスタンスに addData: とかできればいいのかな

別に非同期でレスポンスを返さなくてもいい(一度にガツっと返していい)なら今の NLTHTTPStubServer で対応できると思います!

yaakaito commented 12 years ago

やるとしたら、responseにArrayを指定できるのが綺麗かなーと思ってます。 コネクションは維持したままArrayに入ってる一つ一つのレスポンスを適当な感覚で送り返してあげる、という形式にしておけば、割と小回りは利きそうかなー。

akisute commented 12 years ago

おー、それは良いアイディアな気がする。

yaakaito commented 12 years ago

書き方として、

[stub andResponse:@[res1, res2]];

とArrayを渡せるようにするか、 もしくはチェインして

[[stub andResponse:res1] nextResponse:res2];

みたいな感じにするか、少し悩ましいところ。