@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({ "classpath:META-INF/spring/spring-config.xml" })
public class BargainTest {
private MockHttpServletRequest request;
private MockHttpServletResponse response;
private MockHttpSession session;
private User user;
private User usernull = null;
private String productno = "tester";
private String addressno = "tester";
private User user_real;
private User user_NoIsNull;
@Autowired
private IBargainOrderService bargainOrderService;
@Rule
public ExpectedException thrown = ExpectedException.none();
@Before
public void setUp() {
request = new MockHttpServletRequest();
request.setCharacterEncoding("UTF-8");
response = new MockHttpServletResponse();
session=new MockHttpSession();
InitUser();
}
public void InitUser() {
user = new User();
user.setUseNo("i am a tester");
user.setUsername("Tester");
user_real=new User();
user_real.setUseNo("51fb5f2c23ac4c15ad9d6c47fa6c636a");
user_NoIsNull=new User();
}
@Test
public void ParametersAreNull() {
// 当参数全部为空
//request.addParameter("user", "usernull");
request.setSession(session);
session.setAttribute("user", usernull);
JsonResponse response = createOrder(request, null, null, null);
assertTrue(response.getStatus().contains("erro"));
}
@Test
public void UserNotNull() {
// 当user not null
//request.addParameter("user", "user");
request.setSession(session);
session.setAttribute("user", user);
JsonResponse response = createOrder(request, null, null, null);
assertTrue(response.getStatus().contains("erro"));
}
@Test
public void UserNoNull() {
// 当userno null
//request.addParameter("user", "user_NoIsNull");
request.setSession(session);
session.setAttribute("user", user_NoIsNull);
JsonResponse response = createOrder(request, null, null, null);
assertTrue(response.getStatus().contains("erro"));
}
@Test
public void ProductNotNull() {
// user not null
// productno not null
//request.addParameter("user", "user");
request.setSession(session);
session.setAttribute("user", user);
JsonResponse response = createOrder(request, productno, null, null);
assertTrue(response.getStatus().contains("erro"));
}
@Test
public void addressNotNull(){
// user not null but user is not real
// productno not null
//addressno not null
//request.addParameter("user", "user");
request.setSession(session);
session.setAttribute("user", user);
JsonResponse response = createOrder(request, productno, addressno, null);
assertTrue(response.getStatus().contains("erro"));
}
@Test
public void userfrozen(){
// user not null but user is not real
// productno not null
//addressno not null
user_real.setUseState(User.USESTATE_FREEZE);
//request.addParameter("user", "user_real");
request.setSession(session);
session.setAttribute("user", user_real);
JsonResponse response = createOrder(request, productno, addressno, null);
assertTrue(response.getStatus().contains("erro"));
}
@Test
public void addressIsNull(){
// user not null but user is not real
// productno not null
//addressno not null
user_real.setUseState(User.USESTATE_NORMAL);
request.setSession(session);
session.setAttribute("user", user_real);
//request.addParameter("user", "user_real");
JsonResponse response = createOrder(request, productno, addressno, null);
assertTrue(response.getStatus().contains("erro"));
}
@Test
public void OneBargainCheck(){
//只能一次砍价
user_real.setUseState(User.USESTATE_NORMAL);
addressno="42ac19af23e14704b7a4fbc9f7baf4ea";
productno="4db354c943ba471d8b88478c376771b8";
request.setSession(session);
session.setAttribute("user", user_real);
//request.addParameter("user", "user_real");
JsonResponse response = createOrder(request, productno, addressno, null);
assertTrue(response.getStatus().contains("erro"));
}
public JsonResponse createOrder(HttpServletRequest req, String productNo,
String addressNo, String bzh) {
JsonResponse resp = new JsonResponse();
try {
User user = (User) req.getSession().getAttribute("user");
if (user == null)
throw new Exception("用户登录超时,请重新登录");
Order order = bargainOrderService.createOrder(user.getUseNo(),
productNo, addressNo, bzh);
resp.setStatus("success");
resp.setResult(order);
} catch (Exception e) {
resp.setStatus("error");
resp.setResult(e.getMessage());
}
return resp;
}
}
MockHttpServletRequest对于http前台信息的验证
最新推荐文章于 2024-12-19 15:15:17 发布