diff --git a/pkg/policies/loader.go b/pkg/policies/loader.go index efb2ad3e6..7e70c148f 100644 --- a/pkg/policies/loader.go +++ b/pkg/policies/loader.go @@ -95,7 +95,7 @@ func (c *ChainloopLoader) Load(ctx context.Context, attachment *v1.PolicyAttachm return nil, fmt.Errorf("invalid policy reference %q", ref) } - name, provider := ProviderParts(ref) + provider, name := ProviderParts(ref) resp, err := c.Client.GetPolicy(ctx, &pb.AttestationServiceGetPolicyRequest{ Provider: provider, diff --git a/pkg/policies/policies_test.go b/pkg/policies/policies_test.go index af7857221..3aca1f621 100644 --- a/pkg/policies/policies_test.go +++ b/pkg/policies/policies_test.go @@ -247,6 +247,34 @@ func (s *testSuite) TestVerifyAttestations() { } } +func (s *testSuite) TestProviderParts() { + testCases := []struct { + ref string + prov string + name string + }{ + { + ref: "chainloop://cyclonedx-freshness", + prov: "", + name: "cyclonedx-freshness", + }, + { + ref: "chainloop://provider/cyclonedx-freshness", + prov: "provider", + name: "cyclonedx-freshness", + }, + } + + for _, tc := range testCases { + s.Run(tc.name, func() { + prov, name := ProviderParts(tc.ref) + s.Equal(tc.prov, prov) + s.Equal(tc.name, name) + }) + } + +} + func (s *testSuite) TestArgumentsInViolations() { schema := &v12.CraftingSchema{ Policies: &v12.Policies{