|
- package service
-
- import (
- "testing"
-
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
- )
-
- func TestParseAssetActionRecognizesOfficialActions(t *testing.T) {
- cases := map[string]AssetOperation{
- "CreateAssetGroup": AssetOperationAssetGroupCreate,
- "CreateAsset": AssetOperationAssetCreate,
- "ListAssetGroups": AssetOperationAssetGroupList,
- "ListAssets": AssetOperationAssetList,
- "GetAsset": AssetOperationAssetGet,
- "GetAssetGroup": AssetOperationAssetGroupGet,
- "UpdateAsset": AssetOperationAssetUpdate,
- "UpdateAssetGroup": AssetOperationAssetGroupUpdate,
- "DeleteAsset": AssetOperationAssetDelete,
- "DeleteAssetGroup": AssetOperationAssetGroupDelete,
- }
-
- for action, operation := range cases {
- t.Run(action, func(t *testing.T) {
- spec, ok := ParseAssetAction(action)
- require.True(t, ok)
- assert.Equal(t, action, spec.Action)
- assert.Equal(t, operation, spec.Operation)
- })
- }
- }
-
- func TestParseAssetActionRejectsUnknownAction(t *testing.T) {
- _, ok := ParseAssetAction("CreateRealPersonAuthSession")
- assert.False(t, ok)
- }
-
- func TestBuildAssetSuccessResponseAllowsDeleteWithoutResult(t *testing.T) {
- body, err := BuildAssetSuccessResponse("DeleteAsset", "2024-01-01", nil)
- require.NoError(t, err)
- assert.Contains(t, string(body), `"Action":"DeleteAsset"`)
- assert.Contains(t, string(body), `"ResponseMetadata"`)
- assert.NotContains(t, string(body), `"Result"`)
- }
|