# Bloom RPC

BloomRPC

> **BloomRPC** is a UI client for testing gRPC services.

## Prerequisites

```bash
# gRPC mock server for testing (optional)
yarn global add bloomrpc-mock
# install `bloomrpc` via `brew` into ~/Applications)
brew cask install --appdir=~/Applications bloomrpc
```

> Assume you generated `TLS` certs as per [mtls](https://github.com/xmlking/micro-starter-kit/tree/4ba4dc7ba0f80e79556683470ba49409bf1a4748/docs/testing/mtls.md) and running `Account` gRPC microservice locally, Or started mock gRPC service using [bloomrpc-mock](mock)

## Using BloomRPC Client

1.  Import paths by clicking `Import paths` icon

    ![Import paths](https://1047947560-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lz41-cyceJsyfV6tch6%2F-Lz41gqjpeaBWzjl64Qj%2F-Lz41oIYEUdOj8OxIFmZ%2Fbloomrpc_import_paths.png?generation=1579558853389081\&alt=media)
2.  Import protos by clicking `Import Protos` icon and adding `e2e/account.bloomrpc.proto`

    Select `[service].[method]` to test, make sure the `Port` is correct, and click `TLS` button and add CA Cert.

    Add `*` for `ssl target host` input field.
3.  Add Root CA cert.

    ![Add CA Cert](https://1047947560-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lz41-cyceJsyfV6tch6%2F-Lz43DdWeWAJsVi_icQT%2F-Lz43EMGTmH0NZfR-8F8%2Fbloomrpc_certs.png?generation=1579559222928802\&alt=media)
4.  Call the service method

    ![BloomRPC](https://1047947560-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lz41-cyceJsyfV6tch6%2F-Lz41gqjpeaBWzjl64Qj%2F-Lz41oI_PthijLsK8C8S%2Fbloomrpc.png?generation=1579558853701520\&alt=media)
