@Test
    public void testPutTracking()throws Exception{
        Tracking tracking = new Tracking("RC328021065CN");
        tracking.setSlug("canada-post");
        tracking.setTitle("another title");

        Tracking tracking2 = connection.putTracking(tracking);
        Assert.assertEquals("Should be equals title", "another title", tracking2.getTitle());

        //test post tracking number doesn't exist
        Tracking tracking3 = new Tracking(trackingNumberToDetectError);
        tracking3.setTitle("another title");

        try{
            connection.putTracking(tracking3);
            //always should give an exception before this
            assertTrue("This never should be executed",false);
        }catch (Exception e){
            assertEquals("It should return a exception if the tracking number doesn't matching any courier you have defined"
                    , "{\"meta\":{\"code\":4005,\"message\":\"The value of `tracking_number` is invalid.\",\"type\":\"BadRequest\"},\"data\":{\"tracking\":{\"title\":\"another title\"}}}", e.getMessage());
        }
    }