storj/cmd/uplinkng/cmd_access_inspect_test.go
crawter eec5ad4f5d cmd/uplinkng: access inspect command added
In uplink we have command uplink access inspect and we need
a command with the same functionality for uplinkng.

Command could be executed with parameter or without.
without parameter - we should show default access.
If parameter exists - it could be access name or value.
If access name or value is wrong - we show error.
F.e.
uplinkng access inspect
uplinkng access inspect accessName
uplinkng access inspect accessValue
https://storjlabs.atlassian.net/browse/PG-318

Change-Id: I85fd961283850feb8684db2d126441f6b9bf0270
2021-11-30 12:45:04 +00:00

71 lines
2.3 KiB
Go

// Copyright (C) 2021 Storj Labs, Inc.
// See LICENSE for copying information.
package main
import (
"testing"
"storj.io/storj/cmd/uplinkng/ultest"
)
func TestAccessInspect(t *testing.T) {
parsedAccessA :=
`
{
"satellite_addr": "12V4jtJhKFNoUtHNG9VaTPEn5MyeHvbNdT2UtfqN8qWN6ATd7FX@storjsim:10000",
"encryption_access": {
"default_key": "N87DsbLnjfzhTVxq1NY5kb68htyFoQ3vpf3+PXOryrk=",
"default_path_cipher": "ENC_AESGCM"
},
"api_key": "13YqdsDpS5T26sbKUPWkqeczTN1TEm28hBuCD5mCGEDsC9JNte3VUbj2iJRsWogorpfbm3cCx8gFfAWPtf3tJncy9YRjU3734VKPYoh",
"macaroon": {
"head": "QaR7H0JWYExN1uELObuXuPkkgICizvci5DCGPQvKQ2I=",
"caveats": [],
"tail": "STxHftTfJh9El-dvL6fZC-J3ikE5HAP8Th-e2KYTcqA="
}
}
`
parsedAccessB :=
`{
"satellite_addr": "1d1wmTEDe994p1McyYwVvfR5PeK8mqq4hfvJ8LyZWTDNuhZtnw@127.0.0.1:10000",
"encryption_access": {
"default_key": "4b2E3n2lczSd529FngLUMhG8gr7W0KpllZiFDEcl/08=",
"default_path_cipher": "ENC_AESGCM"
},
"api_key": "1dfJRDAYwLTD3Repgzg6DS1gABme4BQXTp8mmQ56penApYPJ8bMLmF6125scmj7PVKezhSraMGnU6WiwGwPpe6u9Vq5tqZMJD13bnUB4hykKaTaNptRY",
"macaroon": {
"head": "nXhdVngN8Q2oNfro0vqCBvJ8WXHJ76aTGElbrImcwJQ=",
"caveats": [
{
"nonce": "v1MmWA=="
}
],
"tail": "WiJnEHpTzPzBjfR2dxUdeXOdWe-zQROjQywZ1gk6Cbg="
}
}`
accessValue := "12edqrJX1V243n5fWtUrwpMQXL8gKdY2wbyqRPSG3rsA1tzmZiQjtCyF896egifN2C2qdY6g5S1t6e8iDhMUon9Pb7HdecBFheAcvmN8652mqu8hRx5zcTUaRTWfFCKS2S6DHmTeqPUHJLEp6cJGXNHcdqegcKfeahVZGP4rTagHvFGEraXjYRJ3knAcWDGW6BxACqogEWez6r274JiUBfs4yRSbRNRqUEURd28CwDXMSHLRKKA7TEDKEdQ"
state := ultest.Setup(commands)
t.Run("get first valid access by name", func(t *testing.T) {
state.Succeed(t, "access", "inspect", "TestAccessA").RequireStdout(t, parsedAccessA)
})
t.Run("get second valid access by name", func(t *testing.T) {
state.Succeed(t, "access", "inspect", "TestAccessB").RequireStdout(t, parsedAccessB)
})
t.Run("get first valid access by value", func(t *testing.T) {
state.Succeed(t, "access", "inspect", accessValue).RequireStdout(t, parsedAccessA)
})
t.Run("get default access, calling without parameters", func(t *testing.T) {
state.Succeed(t, "access", "inspect").RequireStdout(t, parsedAccessA)
})
t.Run("try to get unexisting access", func(t *testing.T) {
state.Fail(t, "access", "inspect", "unexisting")
})
}