Cloud FunctionのCallable HTTPS Function (onCall)のテストコードの書き方




Callable HTTPS Functionとは

iOSなどのクライアントSDKからCloud Functionの関数を簡単に呼べるようにした仕組みです。

これまではクライアント側でHTTPの情報を組み立てて、リクエストを送らなければいけませんでしたがそれをしないでよくなりました。

さらに、Cloud Function側でFirebase Authenticationのユーザを自動で認識して、ユーザを特定できるので独自の認証機構も必要なくなる便利関数です。

ユーザを特定して関数を処理する場合はCallable HTTPS Functionを使うといいです。

テストコードの書き方

StackOverflowとかGitHubでもテストコードの書き方が議論されています。下記リンクにサンプルコードを載せてくれていて分かりやすかったです。

Unit testing HTTP Callable functions

テストのサンプルコード

run()メソッドというものが用意されていて、そこにテストしたいdataとcontext情報を渡すことでテストすることができます。

describe('Callabe HTTPS Function', () => {
    it('TEst Code', async () => {
        const data = {
            id: 1,
            name: 'test'
        };
        const context = {
            auth: {
                uid: 'sample-uid'
            }
        };
        const response = await callableFunction.run(data, context);
        assert.isEqual(response, {});
    });
});

Callable HTTPS Functionはまだリリースされたばかりの機能でテストがしにくかったりしますが、公式で準備中とのことなので今後のエコシステムに期待したいところです。

The following two tabs change content below.

髙妻智一

2013年CyberAgent新卒入社 スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。 2018年仮想通貨のスマホウォレットを提供するGinco Incにブロックチェーンエンジニアとして入社。






よく読まれている関連記事はこちら




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です