public void TestFailToUploadSoft() { var mock = new Mock <IESSession>(); SoftwareSource softwareSource = new SoftwareSource(); softwareSource.SoftwareName = "OS_Software1"; softwareSource.SoftwareDescription = "“This is a OS template."; softwareSource.SoftwareType = "Windows"; softwareSource.SoftwareVersion = "Windows Server 2008 R2 x64"; softwareSource.SoftwareLanguage = "Chinese"; softwareSource.SourceName = "7601.17514.101119 - 1850_x64fre_server_eval_en - us - GRMSXEVAL_EN_DVD.iso"; softwareSource.SftpserverIP = "188.10.18.188"; softwareSource.SftpUserName = "******"; softwareSource.SftpPassword = "******"; StringBuilder sb = new StringBuilder(ConstMgr.HWESightHost.URL_UPLOADE_SOFTWARESOURCE); JObject jResult = JsonUtil.DeserializeObject <JObject>("{\"code\" : -4011, \"data\":{ \"taskName\":\"API@Task_1456209500919\"},\"description\" : \"任务正在运行.\"}"); ISoftwareSourceWorker worker = new SoftwareSourceWorker(); mock.Setup(foo => foo.HCPost(sb.ToString(), softwareSource)).Returns(jResult); mock.Setup(foo => foo.HWESightHost).Returns(_hwESightHost); //mock.Setup(foo => foo.SoftSourceWorker)).Returns(jResult); worker.ESSession = mock.Object; worker.UploadSoftwareSource(softwareSource); }
/// <summary> /// 上传软件源 /// </summary> /// <param name="softwareSource">软件源参数</param> /// <returns>返回任务名</returns> public string UploadSoftwareSource(SoftwareSource softwareSource) { QueryObjectResult <JObject> queryObjectResult = UploadSoftwareSourceWithResult(softwareSource); if (queryObjectResult.Code != 0) { throw GetDeployException(queryObjectResult.Code.ToString(), this, queryObjectResult.Description);//"上传软件源出错:" + } string taskName = JsonUtil.GetJObjectPropVal <string>(queryObjectResult.Data, "taskName"); return(taskName); }
public void UploadSoftwareSourceTest1() { _esSession.Open(); SoftwareSource softwareSource = new SoftwareSource(); softwareSource.SoftwareName = "OS_Software1111"; softwareSource.SoftwareDescription = "“This is a OS template."; softwareSource.SoftwareType = "Windows"; softwareSource.SoftwareVersion = "Windows Server 2008 R2 x64"; softwareSource.SoftwareLanguage = "Chinese"; softwareSource.SourceName = "7601.17514.101119 - 1850_x64fre_server_eval_en - us - GRMSXEVAL_EN_DVD.iso"; softwareSource.SftpserverIP = "188.10.18.188"; softwareSource.SftpUserName = "******"; softwareSource.SftpPassword = "******"; QueryObjectResult <JObject> sourceResult = _esSession.SoftSourceWorker.UploadSoftwareSourceWithResult(softwareSource); Assert.IsNotNull(sourceResult); }
public void UploadSoftwareSourceTest() { _esSession.Open(); SoftwareSource softwareSource = new SoftwareSource(); softwareSource.SoftwareName = "OS_Software1"; softwareSource.SoftwareDescription = "“This is a OS template."; softwareSource.SoftwareType = "Windows"; softwareSource.SoftwareVersion = "Windows Server 2008 R2 x64"; softwareSource.SoftwareLanguage = "Chinese"; softwareSource.SourceName = "7601.17514.101119 - 1850_x64fre_server_eval_en - us - GRMSXEVAL_EN_DVD.iso"; softwareSource.SftpserverIP = "188.10.18.188"; softwareSource.SftpUserName = "******"; softwareSource.SftpPassword = "******"; string taskName = _esSession.SoftSourceWorker.UploadSoftwareSource(softwareSource); Console.WriteLine(taskName); Assert.IsTrue(!string.IsNullOrEmpty(taskName)); }
/// <summary> /// 上传软件源,直接返回结果。 /// 不抛出错误 /// </summary> /// <param name="softwareSource">软件源参数</param> /// <returns>QueryObjectResult[taskname]</returns> public QueryObjectResult <JObject> UploadSoftwareSourceWithResult(SoftwareSource softwareSource) { StringBuilder sb = new StringBuilder(ConstMgr.HWESightHost.URL_UPLOADE_SOFTWARESOURCE); JObject jResult = ESSession.HCPost(sb.ToString(), softwareSource); //提交eSight服务器 CheckAndThrowException(jResult); //检测提交错误。 HWESightTask eSightTask = HWESightTaskDal.Instance.FindTaskBySourceName(this.ESSession.HWESightHost.ID, softwareSource.SoftwareName); if (eSightTask == null)//不是重复任务,创建任务对象。 { eSightTask = new HWESightTask(); } else//重复的任务。 { LogUtil.HWLogger.API.WarnFormat("Find same source in the database, the data will be overwite=[{0}]", softwareSource.SoftwareName); } string taskName = ""; //eSight返回的任务名。 QueryObjectResult <JObject> queryObjectResult = jResult.ToObject <QueryObjectResult <JObject> >(); //转换Json对象为期待的序列化对象。 if (queryObjectResult.Code == 0) //成功 { taskName = JsonUtil.GetJObjectPropVal <string>(queryObjectResult.Data, "taskName"); //Save to database. eSightTask.HWESightHostID = this.ESSession.HWESightHost.ID; eSightTask.TaskName = taskName; eSightTask.SoftWareSourceName = softwareSource.SoftwareName; eSightTask.TaskStatus = ConstMgr.HWESightTask.TASK_STATUS_RUNNING;//初始化。 eSightTask.TaskProgress = 0; eSightTask.TaskResult = ""; eSightTask.ErrorDetail = ""; eSightTask.SyncStatus = ConstMgr.HWESightTask.SYNC_STATUS_CREATED; eSightTask.TaskType = ConstMgr.HWESightTask.TASK_TYPE_SOFTWARE; eSightTask.LastModifyTime = System.DateTime.Now; eSightTask.CreateTime = System.DateTime.Now; int taskId = HWESightTaskDal.Instance.InsertEntity(eSightTask); LogUtil.HWLogger.API.InfoFormat("Add task:{0}", taskId); } return(queryObjectResult); }
public void UploadSoftwareSourceJsonTest() { _esSession.Open(); SoftwareSource softwareSource = new SoftwareSource(); softwareSource.SoftwareName = "OS_Software1"; softwareSource.SoftwareDescription = "“This is a OS template."; softwareSource.SoftwareType = "Windows"; softwareSource.SoftwareVersion = "Windows Server 2008 R2 x64"; softwareSource.SoftwareLanguage = "Chinese"; softwareSource.SourceName = "7601.17514.101119 - 1850_x64fre_server_eval_en - us - GRMSXEVAL_EN_DVD.iso"; softwareSource.SftpserverIP = "188.10.18.188"; softwareSource.SftpUserName = "******"; softwareSource.SftpPassword = "******"; string taskName = _esSession.SoftSourceWorker.UploadSoftwareSource(softwareSource); WebMutilESightsParam <SoftwareSource> postESightParam = new WebMutilESightsParam <SoftwareSource>(); postESightParam.ESights = new List <string>() { "127.0.0.1" }; postESightParam.Data = softwareSource; Console.WriteLine(taskName); LogUtil.HWLogger.API.Info("UploadSoftwareSourceJsonTest Params:" + JsonUtil.SerializeObject(postESightParam)); JObject taskObject = new JObject(); taskObject.Add("taskName", taskName); QueryObjectResult <JObject> taskResult = new QueryObjectResult <JObject>(); taskResult.Data = taskObject; LogUtil.HWLogger.API.Info("UploadSoftwareSourceJsonTest Result:" + JsonUtil.SerializeObject(taskResult)); Assert.IsTrue(!string.IsNullOrEmpty(taskName)); }