func TestGetCities(t *testing.T) { fmt.Println("TestGetCities...") dtsource := MockDataSource{} conv := converter.Converter{DataSource: dtsource} var msgs = make(chan string) var wg sync.WaitGroup wg.Add(1) go conv.GetCities(countryName, msgs, &wg) message := <-msgs fmt.Println("Message: ", message) if message != belarusCitiesJson { t.Error("Expected "+belarusCitiesJson+", got ", message) } wg.Wait() }
func main() { conf := config.ReadConfig() dtsource := datasource.GetDataSource{Url: conf.Url} conv := converter.Converter{DataSource: dtsource} fileLogger := logger.FileLogger{LogFileName: conf.LogFileNane} countries := os.Args[1:] var msgs = make(chan string, len(countries)) var wg sync.WaitGroup for _, country := range countries { wg.Add(1) go conv.GetCities(country, msgs, &wg) } wg.Add(1) go fileLogger.Log(len(countries), msgs, &wg) wg.Wait() fmt.Println("main finished") }