github.com/easysoft/zendata@v0.0.0-20240513203326-705bd5a7fd67/cmd/test/command/cmd_gen_demo1_test.go (about)

     1  package main
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/easysoft/zendata/cmd/test/gen"
     7  	testHelper "github.com/easysoft/zendata/cmd/test/helper"
     8  	"github.com/ozontech/allure-go/pkg/framework/provider"
     9  	"github.com/ozontech/allure-go/pkg/framework/suite"
    10  )
    11  
    12  func TestGenerateDemo1Cmd(t *testing.T) {
    13  	suite.RunSuite(t, new(GenerateDemo1CmdSuite))
    14  }
    15  
    16  type GenerateDemo1CmdSuite struct {
    17  	suite.Suite
    18  }
    19  
    20  func (s *GenerateDemo1CmdSuite) BeforeAll(t provider.T) {
    21  	testHelper.BeforeAll()
    22  	t.AddSubSuite("GenerateDemo1Cmd")
    23  }
    24  func (s *GenerateDemo1CmdSuite) BeforeEach(t provider.T) {
    25  	testHelper.PreCase()
    26  	t.AddSubSuite("GenerateDemo1Cmd")
    27  }
    28  func (s *GenerateDemo1CmdSuite) AfterEach(t provider.T) {
    29  	testHelper.PostCase()
    30  }
    31  
    32  func (s *GenerateDemo1CmdSuite) TestGenerateDemoDefault(t provider.T) {
    33  	t.ID("0")
    34  
    35  	out := gen.New().
    36  		SetConfigs([]string{"demo/default.yaml", "demo/config.yaml"}).
    37  		SetFields("").
    38  		Gen()
    39  
    40  	t.Require().Contains(out, "123", "check generated data")
    41  	t.Require().NotContains(out, "nil", "check not contains nil")
    42  	t.Require().Contains(out, "{1}", "check overwrite pre-fix and post-fix")
    43  }
    44  
    45  func (s *GenerateDemo1CmdSuite) TestGenerateDemo01(t provider.T) {
    46  	t.ID("0")
    47  
    48  	out := gen.New().
    49  		SetConfigs([]string{"demo/01_range.yaml"}).
    50  		SetFields("").
    51  		Gen()
    52  
    53  	t.Require().Contains(out, "456\t1.70", "check generated data")
    54  	t.Require().Contains(out, "[7]", "check generated data")
    55  }
    56  
    57  func (s *GenerateDemo1CmdSuite) TestGenerateDemo02(t provider.T) {
    58  	t.ID("0")
    59  
    60  	out := gen.New().
    61  		SetConfigs([]string{"demo/02_fix.yaml"}).
    62  		SetFields("").
    63  		Gen()
    64  
    65  	expect := `int_2 | 2B___2B___2B___3B___`
    66  	t.Require().Contains(out, expect, "check generated data")
    67  }
    68  
    69  func (s *GenerateDemo1CmdSuite) TestGenerateDemo04(t provider.T) {
    70  	t.ID("0")
    71  
    72  	out := gen.New().
    73  		SetConfigs([]string{"demo/04_rand.yaml"}).
    74  		SetFields("").
    75  		Gen()
    76  
    77  	t.Require().NotContains(out, "1\t\n2\t\n3\t\n4\t\n5\t\n6\t\n7\t\n8\t\n9\t", "check generated data")
    78  }
    79  
    80  func (s *GenerateDemo1CmdSuite) TestGenerateDemo05(t provider.T) {
    81  	t.ID("0")
    82  
    83  	out := gen.New().
    84  		SetConfigs([]string{"demo/05_loop.yaml"}).
    85  		SetFields("").
    86  		Gen()
    87  
    88  	t.Require().Contains(out, "c_d_e\t\n", "check generated data")
    89  }
    90  
    91  func (s *GenerateDemo1CmdSuite) TestGenerateDemo06(t provider.T) {
    92  	t.ID("0")
    93  
    94  	out := gen.New().
    95  		SetConfigs([]string{"demo/06_from_file.yaml"}).
    96  		SetFields("").
    97  		Gen()
    98  
    99  	t.Require().Contains(out, "Tom", "check generated data")
   100  }
   101  
   102  func (s *GenerateDemo1CmdSuite) TestGenerateDemo07(t provider.T) {
   103  	t.ID("0")
   104  
   105  	out := gen.New().
   106  		SetConfigs([]string{"demo/07_nest.yaml"}).
   107  		SetFields("").
   108  		Gen()
   109  
   110  	t.Require().Contains(out, "part1_B | part2_1", "check generated data")
   111  }
   112  
   113  func (s *GenerateDemo1CmdSuite) TestGenerateDemo08(t provider.T) {
   114  	t.ID("0")
   115  
   116  	out := gen.New().
   117  		SetConfigs([]string{"demo/08_format.yaml"}).
   118  		SetFields("").
   119  		Gen()
   120  
   121  	t.Require().Contains(out, "passwd01\t", "check generated data")
   122  }
   123  
   124  func (s *GenerateDemo1CmdSuite) TestGenerateDemo09(t provider.T) {
   125  	t.ID("0")
   126  
   127  	out := gen.New().
   128  		SetConfigs([]string{"demo/09_length.yaml"}).
   129  		SetFields("").
   130  		Gen()
   131  
   132  	t.Require().Contains(out, "006", "check generated data")
   133  }
   134  
   135  func (s *GenerateDemo1CmdSuite) TestGenerateDemo10(t provider.T) {
   136  	t.ID("0")
   137  
   138  	out := gen.New().
   139  		SetConfigs([]string{"demo/10_brace.yaml"}).
   140  		SetFields("").
   141  		Gen()
   142  
   143  	t.Require().Contains(out, "a\t\na\t\na\t\nb\t\nb\t\nc\t\nc\t", "check generated data")
   144  }
   145  
   146  func (s *GenerateDemo1CmdSuite) TestGenerateDemo12(t provider.T) {
   147  	t.ID("0")
   148  
   149  	out := gen.New().
   150  		SetConfigs([]string{"demo/12_function.yaml"}).
   151  		SetFields("").
   152  		Gen()
   153  
   154  	expect := "10 壹\thttp%3A%2F%2Fzendata.cn%3F%26%3Dword%2B\t0cc175b9c0f1b6a831c399e269772661\t5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8\taHR0cDovL3plbmRhdGEuY24/Jj13b3JkKw=="
   155  	t.Require().Contains(out, expect, "check generated data")
   156  }
   157  
   158  func (s *GenerateDemo1CmdSuite) TestGenerateDemo12_2(t provider.T) {
   159  	t.ID("0")
   160  
   161  	out := gen.New().
   162  		SetConfigs([]string{"demo/12_function2.yaml"}).
   163  		SetFields("").
   164  		Gen()
   165  
   166  	t.Require().NotContains(out, "nil", "check generated data")
   167  }
   168  
   169  func (s *GenerateDemo1CmdSuite) TestGenerateDemo12_3(t provider.T) {
   170  	t.ID("0")
   171  
   172  	out := gen.New().
   173  		SetConfigs([]string{"demo/12_function3.yaml"}).
   174  		SetFields("").
   175  		Gen()
   176  
   177  	expect := "==\tjson: {\"key\": \"value\"}"
   178  	t.Require().Contains(out, expect, "check generated data")
   179  }
   180  
   181  func (s *GenerateDemo1CmdSuite) TestGenerateDemo13(t provider.T) {
   182  	t.ID("0")
   183  
   184  	out := gen.New().
   185  		SetConfigs([]string{"demo/13_value.yaml"}).
   186  		SetFields("").
   187  		Gen()
   188  
   189  	t.Require().Contains(out, "1 x 6 = 6 three 1_three 6 x 6 = 36", "check generated data")
   190  }