///*
// * Copyright (c) 京北方信息技术股份有限公司 Corporation 2021 . All rights reserved.
// *
// */
//package net.northking.cctp;
//
//import net.northking.cctp.common.http.ResultWrapper;
//import net.northking.cctp.common.security.SecurityHttpConstants;
//import net.northking.cctp.test.HttpApiTest;
//import net.northking.cctp.test.entity.HttpApiTestCase;
//import org.junit.Before;
//import org.junit.Test;
//import org.junit.runner.RunWith;
//import org.junit.runners.Parameterized;
//import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
//import org.springframework.boot.test.context.SpringBootTest;
//import org.springframework.http.ResponseEntity;
//import org.springframework.test.context.ContextConfiguration;
//import org.springframework.util.StringUtils;
//import org.springframework.web.client.RestTemplate;
//
//import java.net.URI;
//import java.net.URISyntaxException;
//import java.util.Collection;
//import java.util.HashMap;
//import java.util.Map;
//
///**
// * Http 接口测试，Excel用例集文件解析执行
// *
// * @author : xiusong.xie
// * @version : 1.0
// */
//@RunWith(Parameterized.class)
//@ContextConfiguration
//@SpringBootTest
//@AutoConfigureMockMvc
//public class HttpApiSuiteExecutor extends HttpApiTest
//{
//
//  @Parameterized.Parameters
//  public static Collection<HttpApiTestCase> loadTestCase() throws Exception
//  {
//    String file = "/UT-http-api.round1.xlsx";
//    return loadTestSuiteExcel(file);
//  }
//
//  /**
//   * 单元测试参数化的数据对象
//   */
//  @Parameterized.Parameter
//  public HttpApiTestCase httpApiTestCase;
//
//  @Test
//  public void execute() throws Exception
//  {
//    if (StringUtils.isEmpty(authentication))
//    {
//      login();
//    }
//
//    Map<String, Object> headers = new HashMap<>();
//    headers.put(SecurityHttpConstants.HEADER_AUTHENTICATION, authentication);
//    httpApiTestCase.setHeaders(headers);
//    executeTestCase(httpApiTestCase);
//  }
//
//  @Before
//  public void setUp() throws Exception
//  {
//    initTestContextManager();
//  }
//
//  private static String authentication = "";
//
//  private void login() throws URISyntaxException
//  {
//    RestTemplate restTemplate = new RestTemplate();
//    String loginUrl = "http://192.168.77.24:8111/security/login";
//    URI uri = new URI(loginUrl);
//    Map<String, Object> postData = new HashMap<>();
//    // TODO 设置登录的用户名和密码
//    postData.put("username", "admin");
//    postData.put("password", "123456");
//    ResponseEntity<ResultWrapper> responseEntity = restTemplate.postForEntity(uri, postData, ResultWrapper.class);
//    authentication = responseEntity.getHeaders().getFirst(SecurityHttpConstants.HEADER_AUTHENTICATION);
//  }
//}
