code.gitea.io/gitea@v1.19.3/modules/packages/conan/conaninfo_parser_test.go (about)

     1  // Copyright 2022 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package conan
     5  
     6  import (
     7  	"strings"
     8  	"testing"
     9  
    10  	"github.com/stretchr/testify/assert"
    11  )
    12  
    13  const (
    14  	settingsKey   = "arch"
    15  	settingsValue = "x84_64"
    16  	optionsKey    = "shared"
    17  	optionsValue  = "False"
    18  	requires      = "fmt/7.1.3"
    19  	hash          = "74714915a51073acb548ca1ce29afbac"
    20  	envKey        = "CC"
    21  	envValue      = "gcc-10"
    22  
    23  	contentConaninfo = `[settings]
    24      ` + settingsKey + `=` + settingsValue + `
    25  
    26  [requires]
    27      ` + requires + `
    28  
    29  [options]
    30      ` + optionsKey + `=` + optionsValue + `
    31  
    32  [full_settings]
    33      ` + settingsKey + `=` + settingsValue + `
    34  
    35  [full_requires]
    36      ` + requires + `
    37  
    38  [full_options]
    39      ` + optionsKey + `=` + optionsValue + `
    40  
    41  [recipe_hash]
    42      ` + hash + `
    43  
    44  [env]
    45  ` + envKey + `=` + envValue + `
    46  
    47  `
    48  )
    49  
    50  func TestParseConaninfo(t *testing.T) {
    51  	info, err := ParseConaninfo(strings.NewReader(contentConaninfo))
    52  	assert.NotNil(t, info)
    53  	assert.Nil(t, err)
    54  	assert.Equal(
    55  		t,
    56  		map[string]string{
    57  			settingsKey: settingsValue,
    58  		},
    59  		info.Settings,
    60  	)
    61  	assert.Equal(t, info.Settings, info.FullSettings)
    62  	assert.Equal(
    63  		t,
    64  		map[string]string{
    65  			optionsKey: optionsValue,
    66  		},
    67  		info.Options,
    68  	)
    69  	assert.Equal(t, info.Options, info.FullOptions)
    70  	assert.Equal(
    71  		t,
    72  		[]string{requires},
    73  		info.Requires,
    74  	)
    75  	assert.Equal(t, info.Requires, info.FullRequires)
    76  	assert.Equal(t, hash, info.RecipeHash)
    77  	assert.Equal(
    78  		t,
    79  		map[string][]string{
    80  			envKey: {envValue},
    81  		},
    82  		info.Environment,
    83  	)
    84  }