github.com/wrgl/wrgl@v0.14.0/pkg/conf/remote_test.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright © 2022 Wrangle Ltd
     3  
     4  package conf
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  func TestRemoteFetchDstMatchRef(t *testing.T) {
    13  	cr := &Remote{
    14  		Fetch: []*Refspec{
    15  			MustParseRefspec("+refs/heads/*:refs/remotes/origin/*"),
    16  			MustParseRefspec("refs/tags/v1.0.0:refs/tags/v1.0.0"),
    17  		},
    18  	}
    19  	assert.True(t, cr.FetchDstMatchRef("refs/remotes/origin/abc"))
    20  	assert.True(t, cr.FetchDstMatchRef("refs/tags/v1.0.0"))
    21  	assert.False(t, cr.FetchDstMatchRef("refs/tags/v2.1.0"))
    22  }
    23  
    24  func TestRemoteFetchDstForRef(t *testing.T) {
    25  	cr := &Remote{
    26  		Fetch: []*Refspec{
    27  			MustParseRefspec("+refs/heads/*:refs/remotes/origin/*"),
    28  			MustParseRefspec("refs/tags/v1.0.0:refs/tags/v1.0.0"),
    29  			MustParseRefspec("^refs/heads/nah"),
    30  		},
    31  	}
    32  	assert.Equal(t, cr.FetchDstForRef("refs/heads/abc"), "refs/remotes/origin/abc")
    33  	assert.Equal(t, cr.FetchDstForRef("refs/heads/nah"), "")
    34  	assert.Equal(t, cr.FetchDstForRef("refs/tags/v1.0.0"), "refs/tags/v1.0.0")
    35  	assert.Equal(t, cr.FetchDstForRef("refs/tags/v1.1.0"), "")
    36  }