func TestInit(t *testing.T) { var err error dirWithTestData := path.Join(utils.GetParentDir(currentDir), "test_data") pathToTestCf := path.Join(dirWithTestData, "original.cf") fileData, err := ioutil.ReadFile(pathToTestCf) if err != nil { t.Error(fmt.Sprintf("Ошибка чтения файла '%s': %s", pathToTestCf, err.Error())) } var objectCf ConfCf if err = objectCf.InitFromFile(fileData); err != nil { t.Error(err.Error()) } pathToUnpackDir := path.Join(pathToTarget, "unpack") if err = os.Mkdir(pathToUnpackDir, os.ModeDir); err != nil { t.Error(err.Error()) } objectCf.SaveBlocksToFiles(pathToUnpackDir) if err = objectCf.InitFromCatalog(pathToUnpackDir); err != nil { t.Error(err.Error()) } newFileName := path.Join(pathToTarget, "assembly.cf") newFileData := objectCf.GetDataForConfigFile() if err = ioutil.WriteFile(newFileName, newFileData, os.ModeAppend); err != nil { t.Error(err.Error()) } pathTo1C := path.Join("C:", "Program Files (x86)", "1cv8", "8.3.6.2421", "bin", "1cv8.exe") pathToIb := path.Join(pathToTarget, "ib") userName := "" userPwd := "" cn := ib.CreateIBConnectionSettings(pathToIb, userName, userPwd, "", "", "") ib := ib.CreateInformationBase(pathTo1C, *cn) _, err = ib.Create(newFileName) if err != nil { t.Error("InformationBase Create", err.Error()) } }
func TestMain(m *testing.M) { currentDir, _ = utils.GetPathToCurrentDir() // В наименовании каталога специально присутствует пробел, чтобы протестировать // работу с передачей параметров в командной строке при открытии 1cv8.exe pathToTarget = path.Join(utils.GetParentDir(currentDir), "target dir") utils.RemoveIfExist(pathToTarget) os.Mkdir(pathToTarget, os.ModeDir) utils.InitLogger(pathToTarget, utils.LogLevel_TRACE) flag.Parse() os.Exit(m.Run()) utils.RemoveIfExist(pathToTarget) }
// Создать новый конфигурационный файл на основании данных файлов содержащихся в каталоге func buildCf(pathToDirWithSourceData string, pathToCf string) { pathToTarget := createTargetDir(utils.GetParentDir(pathToCf)) utils.InitLogger(pathToTarget, utils.LogLevel_INFO) utils.AddTextToLog(utils.LogLevel_INFO, "Начало") var err error var objectCf cf.ConfCf if err = objectCf.InitFromCatalog(pathToDirWithSourceData); err != nil { panic(err.Error()) } fileData := objectCf.GetDataForConfigFile() if err = ioutil.WriteFile(pathToCf, fileData, os.ModeAppend); err != nil { panic(err.Error()) } utils.AddTextToLog(utils.LogLevel_INFO, "-Завершение") }