code.gitea.io/gitea@v1.19.3/modules/packages/conan/conanfile_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  	name             = "ConanPackage"
    15  	version          = "1.2"
    16  	license          = "MIT"
    17  	author           = "Gitea <info@gitea.io>"
    18  	homepage         = "https://gitea.io/"
    19  	url              = "https://gitea.com/"
    20  	description      = "Description of ConanPackage"
    21  	topic1           = "gitea"
    22  	topic2           = "conan"
    23  	contentConanfile = `from conans import ConanFile, CMake, tools
    24  
    25  class ConanPackageConan(ConanFile):
    26      name = "` + name + `"
    27      version = "` + version + `"
    28      license = "` + license + `"
    29      author = "` + author + `"
    30      homepage = "` + homepage + `"
    31      url = "` + url + `"
    32      description = "` + description + `"
    33      topics = ("` + topic1 + `", "` + topic2 + `")
    34      settings = "os", "compiler", "build_type", "arch"
    35      options = {"shared": [True, False], "fPIC": [True, False]}
    36      default_options = {"shared": False, "fPIC": True}
    37      generators = "cmake"
    38  `
    39  )
    40  
    41  func TestParseConanfile(t *testing.T) {
    42  	metadata, err := ParseConanfile(strings.NewReader(contentConanfile))
    43  	assert.Nil(t, err)
    44  	assert.Equal(t, license, metadata.License)
    45  	assert.Equal(t, author, metadata.Author)
    46  	assert.Equal(t, homepage, metadata.ProjectURL)
    47  	assert.Equal(t, url, metadata.RepositoryURL)
    48  	assert.Equal(t, description, metadata.Description)
    49  	assert.Equal(t, []string{topic1, topic2}, metadata.Keywords)
    50  }