package apemanagertest import ( "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/apemanager" sessiontest "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/session/test" ) func generateChainID(empty bool) []byte { if empty { return []byte{} } return []byte("616c6c6f774f626a476574436e72") } func generateRawChains(empty bool, n int) []*apemanager.Chain { if empty { return []*apemanager.Chain{} } res := make([]*apemanager.Chain, n) for i := range res { res[i] = generateRawChain(empty) } return res } func generateRawChain(empty bool) *apemanager.Chain { chRaw := new(apemanager.ChainRaw) if empty { chRaw.SetRaw([]byte("{}")) } else { chRaw.SetRaw([]byte(`{ "ID": "", "Rules": [ { "Status": "Allow", "Actions": { "Inverted": false, "Names": [ "GetObject" ] }, "Resources": { "Inverted": false, "Names": [ "native:object/*" ] }, "Any": false, "Condition": [ { "Op": "StringEquals", "Object": "Resource", "Key": "Department", "Value": "HR" } ] } ], "MatchType": "DenyPriority" }`)) } ch := new(apemanager.Chain) ch.SetKind(chRaw) return ch } func GenerateChainTarget(empty bool) *apemanager.ChainTarget { m := new(apemanager.ChainTarget) if !empty { m.SetTargetType(apemanager.TargetTypeContainer) m.SetName("BzQw5HH3feoxFDD5tCT87Y1726qzgLfxEE7wgtoRzB3R") } return m } func GenerateAddChainRequestBody(empty bool) *apemanager.AddChainRequestBody { m := new(apemanager.AddChainRequestBody) if !empty { m.SetTarget(GenerateChainTarget(empty)) m.SetChain(generateRawChain(empty)) } return m } func GenerateAddChainRequest(empty bool) *apemanager.AddChainRequest { m := new(apemanager.AddChainRequest) if !empty { m.SetBody(GenerateAddChainRequestBody(empty)) m.SetMetaHeader(sessiontest.GenerateRequestMetaHeader(empty)) m.SetVerificationHeader(sessiontest.GenerateRequestVerificationHeader(empty)) } return m } func GenerateAddChainResponseBody(empty bool) *apemanager.AddChainResponseBody { m := new(apemanager.AddChainResponseBody) if !empty { m.SetChainID(generateChainID(empty)) } return m } func GenerateAddChainResponse(empty bool) *apemanager.AddChainResponse { m := new(apemanager.AddChainResponse) if !empty { m.SetBody(GenerateAddChainResponseBody(empty)) m.SetMetaHeader(sessiontest.GenerateResponseMetaHeader(empty)) m.SetVerificationHeader(sessiontest.GenerateResponseVerificationHeader(empty)) } return m } func GenerateRemoveChainRequestBody(empty bool) *apemanager.RemoveChainRequestBody { m := new(apemanager.RemoveChainRequestBody) if !empty { m.SetChainID(generateChainID(empty)) m.SetTarget(GenerateChainTarget(empty)) } return m } func GenerateRemoveChainRequest(empty bool) *apemanager.RemoveChainRequest { m := new(apemanager.RemoveChainRequest) if !empty { m.SetBody(GenerateRemoveChainRequestBody(empty)) m.SetMetaHeader(sessiontest.GenerateRequestMetaHeader(empty)) m.SetVerificationHeader(sessiontest.GenerateRequestVerificationHeader(empty)) } return m } func GenerateRemoveChainResponseBody(_ bool) *apemanager.RemoveChainResponseBody { return new(apemanager.RemoveChainResponseBody) } func GenerateRemoveChainResponse(empty bool) *apemanager.RemoveChainResponse { m := new(apemanager.RemoveChainResponse) if !empty { m.SetBody(GenerateRemoveChainResponseBody(empty)) m.SetMetaHeader(sessiontest.GenerateResponseMetaHeader(empty)) m.SetVerificationHeader(sessiontest.GenerateResponseVerificationHeader(empty)) } return m } func GenerateListChainsRequestBody(empty bool) *apemanager.ListChainsRequestBody { m := new(apemanager.ListChainsRequestBody) if !empty { m.SetTarget(GenerateChainTarget(empty)) } return m } func GenerateListChainsRequest(empty bool) *apemanager.ListChainsRequest { m := new(apemanager.ListChainsRequest) if !empty { m.SetBody(GenerateListChainsRequestBody(empty)) m.SetMetaHeader(sessiontest.GenerateRequestMetaHeader(empty)) m.SetVerificationHeader(sessiontest.GenerateRequestVerificationHeader(empty)) } return m } func GenerateListChainsResponseBody(empty bool) *apemanager.ListChainsResponseBody { m := new(apemanager.ListChainsResponseBody) if !empty { m.SetChains(generateRawChains(empty, 10)) } return m } func GenerateListChainsResponse(empty bool) *apemanager.ListChainsResponse { m := new(apemanager.ListChainsResponse) if !empty { m.SetBody(GenerateListChainsResponseBody(empty)) m.SetMetaHeader(sessiontest.GenerateResponseMetaHeader(empty)) m.SetVerificationHeader(sessiontest.GenerateResponseVerificationHeader(empty)) } return m }