github.com/tooploox/oya@v0.0.21-0.20230524103240-1cda1861aad6/features/import.feature (about)

     1  Feature: Importing packs
     2  
     3  Background:
     4     Given I'm in project dir
     5  
     6  Scenario: Import a pack
     7    Given file ./Oyafile containing
     8      """
     9      Project: project
    10      """
    11    When I run "oya import github.com/tooploox/oya-fixtures/pack1"
    12    Then the command succeeds
    13    And file ./Oyafile contains
    14      """
    15      Project: project
    16      Require:
    17        github.com/tooploox/oya-fixtures/pack1: v1.1.1
    18      Import:
    19        pack1: github.com/tooploox/oya-fixtures/pack1
    20  
    21      """
    22  
    23  Scenario: Import a pack to other already imported
    24    Given file ./Oyafile containing
    25      """
    26      Project: project
    27      Import:
    28        pack1: github.com/tooploox/oya-fixtures/pack1
    29  
    30      task: |
    31        echo "check"
    32      """
    33    When I run "oya import github.com/tooploox/oya-fixtures/pack2"
    34    Then the command succeeds
    35    And file ./Oyafile contains
    36      """
    37      Project: project
    38      Require:
    39        github.com/tooploox/oya-fixtures/pack2: v1.1.2
    40        github.com/tooploox/oya-fixtures/pack1: v1.1.1
    41      Import:
    42        pack2: github.com/tooploox/oya-fixtures/pack2
    43        pack1: github.com/tooploox/oya-fixtures/pack1
    44  
    45      task: |
    46        echo "check"
    47  
    48      """
    49  
    50  Scenario: Import a pack to empty Oyafile
    51    Given file ./Oyafile containing
    52      """
    53      Project: project
    54      """
    55    And file ./subdir/Oyafile containing
    56      """
    57      """
    58    When I'm in the ./subdir dir
    59    And I run "oya import github.com/tooploox/oya-fixtures/pack1"
    60    Then the command succeeds
    61    And file ./subdir/Oyafile contains
    62      """
    63      Import:
    64        pack1: github.com/tooploox/oya-fixtures/pack1
    65  
    66      """
    67  
    68  Scenario: Import a pack to Oyafile with other things
    69    Given file ./Oyafile containing
    70      """
    71      Project: project
    72  
    73      task: |
    74        echo "check"
    75      """
    76    When I run "oya import github.com/tooploox/oya-fixtures/pack1"
    77    Then the command succeeds
    78    And file ./Oyafile contains
    79      """
    80      Project: project
    81      Require:
    82        github.com/tooploox/oya-fixtures/pack1: v1.1.1
    83      Import:
    84        pack1: github.com/tooploox/oya-fixtures/pack1
    85  
    86      task: |
    87        echo "check"
    88  
    89      """
    90  
    91  Scenario: Import a pack which is already imported
    92    Given file ./Oyafile containing
    93      """
    94      Project: project
    95      Import:
    96        oya: github.com/bilus/oya
    97  
    98      task: |
    99        echo "check"
   100      """
   101    When I run "oya import github.com/bilus/oya"
   102    Then the command fails with error matching
   103    """
   104    .*Pack already imported: github.com/bilus/oya.*
   105    """
   106  
   107  Scenario: Import a pack with long name should have lower camelcase alias
   108    Given file ./Oyafile containing
   109      """
   110      Project: project
   111      """
   112    When I run "oya import github.com/tooploox/oya-fixtures/pack3-and-a-half"
   113    Then the command succeeds
   114    And file ./Oyafile contains
   115      """
   116      Project: project
   117      Require:
   118        github.com/tooploox/oya-fixtures/pack3-and-a-half: v1.1.0
   119      Import:
   120        pack3AndAHalf: github.com/tooploox/oya-fixtures/pack3-and-a-half
   121  
   122      """
   123  
   124  
   125  Scenario: Import a pack with alias from a parameter
   126    Given file ./Oyafile containing
   127      """
   128      Project: project
   129      """
   130    When I run "oya import github.com/tooploox/oya-fixtures/pack3-and-a-half --alias pack3_5"
   131    Then the command succeeds
   132    And file ./Oyafile contains
   133      """
   134      Project: project
   135      Require:
   136        github.com/tooploox/oya-fixtures/pack3-and-a-half: v1.1.0
   137      Import:
   138        pack3_5: github.com/tooploox/oya-fixtures/pack3-and-a-half
   139  
   140      """