IBMが管理する OSS のドキュメントコミッターになった時の話

この記事は チームスピリット Advent Calendar 2020 - Adventar の 12/5 向けの投稿記事です。明日以降もお楽しみに!

こんにちは、チームスピリットの佐藤です。 今回は自分が過去にIBMが管理するOSSである、 LoopBackのドキュメントコミッターになった時の話や苦労の話を振り返りたいと思います。

Loopback とは

Loopback とは Node.jsの Express をベースとした Web フレームワークで、 DBのCRUD操作を行う Web API をとても簡単に作成する事ができるというものです。

きっかけ 〜 PRを投げるまで

自分は以前とあるプロジェクトで利用した事があり、 その際にフレームワークの仕様を上司に日本語で説明する必要があったため トップページを日本語訳することにしたのがきっかけです。

最初は自分がいきなりコミュニティにPRを投げても、無視されてしまうだろうな・・・ とか勝手に思っていました。 また、自分の英語力もあまりなかったので、言語に関しても不安がありました。

そんな中で Githubのリポジトリを見てみると、 どうやらいろんな人が各言語への翻訳PRを投げている事がわかりました。

これを見て、「よし、自分もやってみよう!」と翻訳のPRを参考にしながら トップページの文章を日本語訳を初めました。

PR を投げてから

実際のPRはこちら
たどたどしい英語で恐る恐るPRを送ってみると
日本時間の23時 にレビューが始まり、(きっちり叩き起こされた)
何回かやりとりを経て無事PRがマージされたのでした。

この時、当時 squash についてわからなかった自分は Git の操作マニュアルを見ながら
苦労したのを覚えています。

得られた教訓

  • 迷ったら類似のPRを探そう。
  • どんな人たちがPRを送っているのか見てみよう。
  • 恥ずかしがらずにコミュニティに参加しよう。
  • OSSへの参加は自分がやってる業務とは異なる文化があり、どのような取り組みを行っているのかを知れるチャンス

業務で OSS を使う機会があれば今後もコミットしていきたいと久々に感じた今日この頃。

Newmanを使ってAPIのテストを自動化したい話

この記事はチームスピリットアドベントカレンダー2019の記事です。

こんにちは、チームスピリットの佐藤です。
今回は自分がやっていきたい事として、Newmanを使ってAPIのテストを自動的に行う方法についてお話します。

Newmanとは?

NewmanとはRESTfulAPIのテストソフトウェアであるPostmanのCLI版の事で、 簡単に言えばコマンドラインで実行できるPostmanの事です。 CI/CDツールに組み込んで自動テストに使われることもあります。

インストール方法

  1. node.jsをインストールする
  2. npm install -g newman コマンドを実行する

以上。シンプルですね。

使い方

基本的な使い方としてGUI版のPostmanで作成/エクスポートした Postman collection file (json 形式)を指定して実行するのが最もシンプルな方法です。
例としては、

newman run `Postman collection file`

といった感じです。

また、Postman同様、環境ファイルや反復実行回数、APIの実行間隔など、 以下の様々なオプションが利用可能です。

--folder [folderName]
指定したPostman collection内のフォルダ内のAPIのみを実行する。

-e, --environment [file|URL]
Postman環境ファイルを指定する。接続先を切り替える時に利用したりする。

-d, --data [file]
テストで実行するテスト値ファイルを指定する。形式はcsvjsonが指定可能である。主に反復実行時に1回目と2回目で異なる値を利用したい時に用いる。

-g, --globals [file]
Postmanグローバル変数ファイルを指定する。利用する用途としては環境ファイルとほとんど一緒である。

-n, --iteration-count [number]
APIテストの反復回数を指定する。同じテストを何回も実行する場合に利用する。

--delay-request [number]
APIの実行間隔を指定する。5分間にn回までなどのAPIの実行制限を回避するため使ったりする。

--timeout-request [number]
タイムアウト時間を指定する。APIの性能要件があり、指定時間以内に返却する必要がある場合などに利用する。

その他

APIの実行順はPostmanで登録した順(つまり画面上では上から)実行されます。 この性質を利用すれば、APIを指定した順番で実行することが可能です。

なぜこの内容になったのか

PostmanやNewmanを利用することで効率よく開発やテスト行うことが可能になると思ったので広めていきたいと思って書きました。
次はPostmanでAPIのテストコードを書く方法について紹介したいなぁ・・・

最後になりますが、チームスピリットでは12月になると アドベントカレンダー と言うイベントがあり、
12月25日、つまりクリスマスまで毎日社員の方々が1記事ずつブログを書いていたりします。是非他の方の記事も見てください! adventar.org