Skip to content

Commit

Permalink
feat: support set a store as readonly (#269)
Browse files Browse the repository at this point in the history
  • Loading branch information
LinuxSuRen committed Nov 14, 2023
1 parent 86bbe4e commit bf8386b
Show file tree
Hide file tree
Showing 33 changed files with 485 additions and 256 deletions.
11 changes: 8 additions & 3 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@ jobs:
steps:
- name: Checkout
uses: actions/[email protected]
- name: Set output
id: vars
run: git describe --tags >> $GITHUB_OUTPUT
- name: Setup Docker buildx
uses: docker/setup-buildx-action@79abd3f86f79a9d68a23c75a09a9a85889262adf
- name: Log into registry ${{ env.REGISTRY }}
Expand All @@ -92,6 +95,7 @@ jobs:
platforms: linux/amd64,linux/arm64
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: VERSION=${{ steps.vars.outputs.tag }}

image-operator:
runs-on: ubuntu-20.04
Expand Down Expand Up @@ -129,6 +133,9 @@ jobs:
steps:
- name: Checkout
uses: actions/[email protected]
- name: Set output
id: vars
run: git describe --tags >> $GITHUB_OUTPUT
- name: Setup Docker buildx
uses: docker/setup-buildx-action@79abd3f86f79a9d68a23c75a09a9a85889262adf
- name: Log into registry ${{ env.REGISTRY_DOCKERHUB }}
Expand All @@ -154,9 +161,7 @@ jobs:
platforms: linux/amd64,linux/arm64
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Set output
id: vars
run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
build-args: VERSION=${{ steps.vars.outputs.tag }}
- name: Release Helm
run: |
echo ${{ secrets.DOCKER_HUB_PUBLISH_SECRETS }} | helm registry login docker.io -u linuxsuren --password-stdin
Expand Down
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ COPY --from=ui /workspace/dist/assets/*.css cmd/data/index.css
COPY --from=sk /usr/local/bin/skywalking-go-agent /usr/local/bin/skywalking-go-agent

RUN GOPROXY=${GOPROXY} go mod download
RUN GOPROXY=${GOPROXY} CGO_ENABLED=0 go build -toolexec="skywalking-go-agent" -a -ldflags "-w -s -X github.com/linuxsuren/api-testing/pkg/version.version=${VERSION}" -o atest .
RUN GOPROXY=${GOPROXY} CGO_ENABLED=0 go build -toolexec="skywalking-go-agent" -a -ldflags "-w -s -X github.com/linuxsuren/api-testing/pkg/version.version=${VERSION}\
-X github.com/linuxsuren/api-testing/pkg/version.date=$(date +%Y-%m-%d)" -o atest .
RUN GOPROXY=${GOPROXY} CGO_ENABLED=0 go build -ldflags "-w -s" -o atest-collector extensions/collector/main.go
RUN GOPROXY=${GOPROXY} CGO_ENABLED=0 go build -ldflags "-w -s" -o atest-store-orm extensions/store-orm/main.go
RUN GOPROXY=${GOPROXY} CGO_ENABLED=0 go build -ldflags "-w -s" -o atest-store-s3 extensions/store-s3/main.go
Expand Down
18 changes: 10 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
IMG_TOOL?=podman
IMG_TOOL?=docker
BINARY?=atest
TOOLEXEC?=-toolexec="skywalking-go-agent"
GOPROXY?=https://goproxy.cn,direct
TOOLEXEC?= #-toolexec="skywalking-go-agent"
BUILD_FLAG?=-ldflags "-w -s -X github.com/linuxsuren/api-testing/pkg/version.version=$(shell git describe --tags) \
-X github.com/linuxsuren/api-testing/pkg/version.date=$(shell date +%Y-%m-%d)"
GOPROXY?=direct
HELM_VERSION?=v0.0.2
APP_VERSION?=v0.0.13
HELM_REPO?=docker.io/linuxsuren

fmt:
go fmt ./...
cd extensions/store-etcd && go fmt ./...
cd extensions/store-git && go fmt ./...
cd extensions/store-orm && go fmt ./...
cd extensions/store-s3 && go fmt ./...
cd extensions/store-etcd && go mod tidy && go fmt ./...
cd extensions/store-git && go mod tidy && go fmt ./...
cd extensions/store-orm && go mod tidy && go fmt ./...
cd extensions/store-s3 && go mod tidy && go fmt ./...
build:
mkdir -p bin
rm -rf bin/atest
go build ${TOOLEXEC} -a -o bin/atest main.go
go build ${TOOLEXEC} -a ${BUILD_FLAG} -o bin/atest main.go
build-ext: build-ext-git build-ext-orm build-ext-s3 build-ext-etcd
build-ext-git:
CGO_ENABLED=0 go build -ldflags "-w -s" -o bin/atest-store-git extensions/store-git/main.go
Expand Down
2 changes: 1 addition & 1 deletion cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ func NewRootCmd(execer fakeruntime.Execer, gRPCServer gRPCServer,
Short: "API testing tool",
}
c.SetOut(os.Stdout)
c.Version = version.GetVersion()
c.Version = "\n" + version.GetDetailedVersion()
c.AddCommand(createInitCommand(execer),
createRunCommand(), createSampleCmd(),
createServerCmd(execer, gRPCServer, httpServer), createJSONSchemaCmd(),
Expand Down
5 changes: 3 additions & 2 deletions console/atest-ui/src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ const testSuite = ref('')
const testSuiteKind = ref('')
const handleNodeClick = (data: Tree) => {
if (data.children) {
Cache.SetCurrentStore(data.store)
viewName.value = 'testsuite'
testSuite.value = data.label
testSuiteKind.value = data.kind
Expand All @@ -63,7 +64,7 @@ const handleNodeClick = (data: Tree) => {
data.children = []
d.items.forEach((item: any) => {
data.children?.push({
id: data.label + item.name,
id: data.label,
label: item.name,
kind: data.kind,
store: data.store,
Expand All @@ -74,10 +75,10 @@ const handleNodeClick = (data: Tree) => {
}
})
} else {
Cache.SetCurrentStore(data.store)
Cache.SetLastTestCaseLocation(data.parentID, data.id)
testCaseName.value = data.label
testSuite.value = data.parent
Cache.SetCurrentStore(data.store)
testSuiteKind.value = data.kind
viewName.value = 'testcase'
}
Expand Down
3 changes: 2 additions & 1 deletion console/atest-ui/src/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@
"protoContent": "Proto Content",
"protoFile": "Proto File",
"protoImport": "Proto Import",
"param": "Parameter"
"param": "Parameter",
"refelction": "Refelction"
},
"tip": {
"filter": "Filter Keyword"
Expand Down
20 changes: 10 additions & 10 deletions console/atest-ui/src/views/TestCase.vue
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const props = defineProps({
const store = Cache.GetCurrentStore()
const emit = defineEmits(['updated'])
let querySuggestedAPIs = NewSuggestedAPIsQuery(store.name!, props.suite!)
let querySuggestedAPIs = NewSuggestedAPIsQuery(Cache.GetCurrentStore().name!, props.suite!)
const testResultActiveTab = ref(Cache.GetPreference().responseActiveTab)
watch(testResultActiveTab, Cache.WatchResponseActiveTab)
Expand All @@ -37,7 +37,7 @@ const sendRequest = async () => {
const requestOptions = {
method: 'POST',
headers: {
'X-Store-Name': store.name
'X-Store-Name': Cache.GetCurrentStore().name
},
body: JSON.stringify({
suite: suite,
Expand Down Expand Up @@ -105,7 +105,7 @@ function openParameterDialog() {
const requestOptions = {
method: 'POST',
headers: {
'X-Store-Name': store.name
'X-Store-Name': Cache.GetCurrentStore().name
},
body: JSON.stringify({
name: props.suite
Expand All @@ -132,7 +132,7 @@ function generateCode() {
const requestOptions = {
method: 'POST',
headers: {
'X-Store-Name': store.name
'X-Store-Name': Cache.GetCurrentStore().name
},
body: JSON.stringify({
TestSuite: suite,
Expand Down Expand Up @@ -234,7 +234,7 @@ function load() {
const requestOptions = {
method: 'POST',
headers: {
'X-Store-Name': store.name
'X-Store-Name': Cache.GetCurrentStore().name
},
body: JSON.stringify({
suite: suite,
Expand Down Expand Up @@ -311,7 +311,7 @@ function saveTestCase(tip: boolean = true) {
const requestOptions = {
method: 'POST',
headers: {
'X-Store-Name': store.name
'X-Store-Name': Cache.GetCurrentStore().name
},
body: JSON.stringify(testCaseWithSuite.value)
}
Expand All @@ -338,7 +338,7 @@ function deleteTestCase() {
const requestOptions = {
method: 'POST',
headers: {
'X-Store-Name': store.name
'X-Store-Name': Cache.GetCurrentStore().name
},
body: JSON.stringify({
suite: suite,
Expand Down Expand Up @@ -489,7 +489,7 @@ const pupularHeaders = ref([] as Pair[])
const requestOptions = {
method: 'POST',
headers: {
'X-Store-Name': store.name
'X-Store-Name': Cache.GetCurrentStore().name
},
}
fetch('/server.Runner/PopularHeaders', requestOptions)
Expand All @@ -515,10 +515,10 @@ const queryPupularHeaders = (queryString: string, cb: (arg: any) => void) => {
<el-header style="padding-left: 5px">
<div style="margin-bottom: 5px">
<el-button type="primary" @click="saveTestCase" :icon="Edit" :loading="saveLoading"
disabled v-if="store.readOnly"
disabled v-if="Cache.GetCurrentStore().readOnly"
>{{ t('button.save') }}</el-button>
<el-button type="primary" @click="saveTestCase" :icon="Edit" :loading="saveLoading"
v-if="!store.readOnly"
v-if="!Cache.GetCurrentStore().readOnly"
>{{ t('button.save') }}</el-button>
<el-button type="primary" @click="deleteTestCase" :icon="Delete">{{ t('button.delete') }}</el-button>
<el-button type="primary" @click="openCodeDialog">{{ t('button.generateCode') }}</el-button>
Expand Down
38 changes: 23 additions & 15 deletions console/atest-ui/src/views/TestSuite.vue
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const props = defineProps({
})
const store = Cache.GetCurrentStore()
const emit = defineEmits(['updated'])
let querySuggestedAPIs = NewSuggestedAPIsQuery(store.name, props.name!)
let querySuggestedAPIs = NewSuggestedAPIsQuery(Cache.GetCurrentStore().name, props.name!)
const suite = ref({
name: '',
Expand All @@ -26,11 +26,13 @@ const suite = ref({
url: '',
rpc: {
raw: '',
protofile: ''
protofile: '',
serverReflection: false
}
}
} as Suite)
function load() {
const store = Cache.GetCurrentStore()
if (!props.name || store.name === "") return
const requestOptions = {
Expand Down Expand Up @@ -71,7 +73,7 @@ function save() {
const requestOptions = {
method: 'POST',
headers: {
'X-Store-Name': store.name
'X-Store-Name': Cache.GetCurrentStore().name
},
body: JSON.stringify(suite.value)
}
Expand Down Expand Up @@ -109,7 +111,7 @@ const rules = reactive<FormRules<Suite>>({
function openNewTestCaseDialog() {
dialogVisible.value = true
querySuggestedAPIs = NewSuggestedAPIsQuery(store.name!, props.name!)
querySuggestedAPIs = NewSuggestedAPIsQuery(Cache.GetCurrentStore().name!, props.name!)
}
const submitForm = async (formEl: FormInstance | undefined) => {
Expand All @@ -121,7 +123,7 @@ const submitForm = async (formEl: FormInstance | undefined) => {
const requestOptions = {
method: 'POST',
headers: {
'X-Store-Name': store.name
'X-Store-Name': Cache.GetCurrentStore().name
},
body: JSON.stringify({
suiteName: props.name,
Expand Down Expand Up @@ -151,7 +153,7 @@ function del() {
const requestOptions = {
method: 'POST',
headers: {
'X-Store-Name': store.name
'X-Store-Name': Cache.GetCurrentStore().name
},
body: JSON.stringify({
name: props.name
Expand All @@ -175,7 +177,7 @@ function convert() {
const requestOptions = {
method: 'POST',
headers: {
'X-Store-Name': store.name
'X-Store-Name': Cache.GetCurrentStore().name
},
body: JSON.stringify({
Generator: 'jmeter',
Expand Down Expand Up @@ -278,12 +280,18 @@ function paramChange() {
</div>

<div v-if="suite.spec.rpc">
<span>{{ t('title.protoContent') }}</span>
<el-input
v-model="suite.spec.rpc.raw"
:autosize="{ minRows: 4, maxRows: 8 }"
type="textarea"
/>
<div>
<span>{{ t('title.refelction') }}</span>
<el-switch v-model="suite.spec.rpc.serverReflection" />
</div>
<div>
<span>{{ t('title.protoContent') }}</span>
<el-input
v-model="suite.spec.rpc.raw"
:autosize="{ minRows: 4, maxRows: 8 }"
type="textarea"
/>
</div>
<div>
<span>{{ t('title.protoImport') }}</span>
<el-input class="mx-1" v-model="suite.spec.rpc.import"></el-input>
Expand All @@ -295,8 +303,8 @@ function paramChange() {
<el-divider />
</div>

<el-button type="primary" @click="save" v-if="!store.readOnly">{{ t('button.save') }}</el-button>
<el-button type="primary" @click="save" disabled v-if="store.readOnly">{{ t('button.save') }}</el-button>
<el-button type="primary" @click="save" v-if="!Cache.GetCurrentStore().readOnly">{{ t('button.save') }}</el-button>
<el-button type="primary" @click="save" disabled v-if="Cache.GetCurrentStore().readOnly">{{ t('button.save') }}</el-button>
<el-button type="primary" @click="del" test-id="suite-del-but">{{ t('button.delete') }}</el-button>
<el-button type="primary" @click="openNewTestCaseDialog" :icon="Edit" test-id="open-new-case-dialog">{{ t('button.newtestcase') }}</el-button>
<el-button type="primary" @click="convert" test-id="convert">{{ t('button.export') }}</el-button>
Expand Down
7 changes: 7 additions & 0 deletions e2e/test-suite-common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,20 @@ param:
suiteName: "{{randAlpha 6}}"
caseName: "{{randAlpha 6}}"
store: "{{randAlpha 3}}"
<<<<<<< HEAD:e2e/test-suite-common.yaml
server: |
{{default "http://localhost:8080" (env "SERVER")}}
=======
>>>>>>> 1f91a9f (feat: support set a store as readonly (#269)):extensions/e2e/test-suite-common.yaml
items:
- name: CreateStore
before:
items:
<<<<<<< HEAD:e2e/test-suite-common.yaml
- httpReady("{{.param.server}}/healthz", 2400)
=======
- httpReady("http://localhost:8080/healthz", 2400)
>>>>>>> 1f91a9f (feat: support set a store as readonly (#269)):extensions/e2e/test-suite-common.yaml
request:
api: /CreateStore
method: POST
Expand Down
2 changes: 1 addition & 1 deletion extensions/store-etcd/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ require (
github.com/iancoleman/strcase v0.2.0 // indirect
github.com/imdario/mergo v0.3.11 // indirect
github.com/inconshreveable/mousetrap v1.0.1 // indirect
github.com/jhump/protoreflect v1.9.0 // indirect
github.com/jhump/protoreflect v1.15.3 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/compress v1.15.9 // indirect
github.com/lestrrat-go/strftime v1.0.6 // indirect
Expand Down
9 changes: 2 additions & 7 deletions extensions/store-etcd/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -789,7 +789,6 @@ github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57Q
github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI=
github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4=
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w=
Expand All @@ -815,8 +814,8 @@ github.com/imdario/mergo v0.3.11 h1:3tnifQM4i+fbajXKBHXWEH+KvNHqojZ778UH75j3bGA=
github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc=
github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jhump/protoreflect v1.9.0 h1:npqHz788dryJiR/l6K/RUQAyh2SwV91+d1dnh4RjO9w=
github.com/jhump/protoreflect v1.9.0/go.mod h1:7GcYQDdMU/O/BBrl/cX6PNHpXh6cenjd8pneu5yW7Tg=
github.com/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls=
github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
Expand Down Expand Up @@ -871,7 +870,6 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/nishanths/predeclared v0.0.0-20200524104333-86fad755b4d3/go.mod h1:nt3d53pc1VYcphSCIaYAJtnPYnr3Zyn8fMq2wvPGPso=
github.com/panjf2000/ants/v2 v2.4.6 h1:drmj9mcygn2gawZ155dRbo+NfXEfAssjZNU1qoIb4gQ=
github.com/panjf2000/ants/v2 v2.4.6/go.mod h1:f6F0NZVFsGCp5A7QW/Zj/m92atWwOkY0OIhFxRNFr4A=
github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
Expand Down Expand Up @@ -1321,10 +1319,8 @@ golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWc
golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
Expand Down Expand Up @@ -1581,7 +1577,6 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.25.1-0.20200805231151-a709e31e5d12/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
Expand Down
Loading

0 comments on commit bf8386b

Please sign in to comment.