|
|
- package reorder
-
- import (
- "fmt"
- "io/ioutil"
- "leit.com/leit_seat_aps/common"
- "leit.com/leit_seat_aps/db"
- "os"
- "regexp"
- "testing"
- )
-
- func TestReorder(t *testing.T) {
- var (
- connstring string
- err error
- projtab db.Me_project
- projtablst []db.Me_project
- rd []os.FileInfo
- fi os.FileInfo
- edi_file string
- reoland ReorderLandData
- matched bool
- )
-
- // 连接数据库
- connstring = fmt.Sprintf("server=%s;user id=%s;password=%s;database=%s;port=%d;encrypt=disable",
- `DESKTOP-S4G95G5\\MLINK`, "lapp", "123fis", "LAPP_JITS", 1433)
- if err = db.InitMssqlDb(connstring); err != nil {
- t.Errorf("Failed to connect db due to: %v", err)
- return
- }
- defer db.G_DbEngine.Close()
-
- projtab = db.Me_project{}
- if projtablst, err = projtab.GetAllActive(); err != nil {
- t.Errorf("Failed to get project list!")
- return
- }
-
- for i, _ := range projtablst {
- // 加载项目数据
-
- // 读取文件夹内的文件并解析
- if rd, err = ioutil.ReadDir(projtablst[i].Reorder_folder + "/inbox"); err != nil {
- return
- }
- for _, fi = range rd {
- if fi.IsDir() {
- continue
- }
-
- edi_file = projtablst[i].Reorder_folder + "/inbox" + "/" + fi.Name()
- fmt.Println(edi_file)
-
- // 判断文件的合规性
- if matched, err = regexp.MatchString(projtablst[i].Reorder_filename_regexp, fi.Name()); err != nil {
- t.Errorf("Failed to match EDI file name: %s due to: %v", fi.Name(), err)
- return
- }
- if !matched {
- t.Errorf("The specified EDI file: %s doesn't match the required name specification!", fi.Name())
- os.Rename(edi_file, projtablst[i].Reorder_folder+"/errbox"+"/"+fi.Name())
- return
- }
-
- // 解析REORDER文件到字典
- fmt.Println("Ready to read reorder data......")
- reoland = ReorderLandData{}
- reoland.Projnr = projtablst[i].Projectid
- reoland.Edifile = edi_file
- if err = reoland.ReadReorderData(edi_file); err != nil {
- t.Errorf("Failed to parse REORDER file due to: %v", err)
- os.Rename(edi_file, projtablst[i].Reorder_folder+"/errbox"+"/"+fi.Name())
- return
- }
-
- // 保存REORDER字典到临时缓存表
- if err = reoland.SaveReorderData(); err != nil {
- t.Errorf("Failed to save REORDER parse result due to: %v", err)
- return
- }
-
- // 将文件移到outbox
- os.Rename(edi_file, projtablst[i].Reorder_folder+"/outbox"+"/"+fi.Name())
- }
- }
- }
- func TestSendMail(t *testing.T) {
- /*!
- username 发送者邮件
- password 授权码
- host 主机地址 smtp.qq.com:587 或 smtp.qq.com:25
- to 接收邮箱 多个接收邮箱使用 ; 隔开
- name 发送人名称
- subject 发送主题
- body 发送内容
- mailType 发送邮件内容类型
- */
- host := "smtp.qq.com:587"
- subject := "SEQ+1 更新报警"
- body := "客户订单 4020691 已下达,不能进行SEQ+1更新!"
- username := "332386556@qq.com"
- password := "rommipiezlyrbhhd" //这个是授权码,而不是密码
- to := "wenzhi.lou@le-it.com.cn"
- name := "wenzhi.lou"
- err := common.SendMail(username, password, host, to, name, subject, body, "html")
- if err != nil{
- t.Error(err)
- }
- }
|