github.com/oinume/lekcije@v0.0.0-20231017100347-5b4c5eb6ab24/backend/cmd/crawler/main_test.go (about)

     1  package main
     2  
     3  import (
     4  	"io"
     5  	"os"
     6  	"testing"
     7  )
     8  
     9  func Test_crawlerMain_run(t *testing.T) {
    10  	type fields struct {
    11  		outStream io.Writer
    12  		errStream io.Writer
    13  	}
    14  
    15  	tests := map[string]struct {
    16  		args    []string
    17  		fields  fields
    18  		wantErr bool
    19  	}{
    20  		"normal": {
    21  			args: []string{"crawler", "-ids=1"}, // TODO: Add fetcher/fake package
    22  			fields: fields{
    23  				outStream: os.Stdout,
    24  				errStream: os.Stderr,
    25  			},
    26  			wantErr: false,
    27  		},
    28  	}
    29  
    30  	for name, test := range tests {
    31  		t.Run(name, func(t *testing.T) {
    32  			m := &crawlerMain{
    33  				outStream: test.fields.outStream,
    34  				errStream: test.fields.errStream,
    35  			}
    36  			if err := m.run(test.args); (err != nil) != test.wantErr {
    37  				t.Errorf("crawlerMain.run() error = %v, wantErr %v", err, test.wantErr)
    38  			}
    39  		})
    40  	}
    41  }