Exemplo n.º 1
0
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()
}
Exemplo n.º 2
0
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")
}