@Test
    public void testGetTrackingByNumber()throws Exception{
        Tracking trackingGet1 = new Tracking("RC328021065CN");
        trackingGet1.setSlug("canada-post");

        Tracking tracking = connection.getTrackingByNumber(trackingGet1);
        Assert.assertEquals("Should be equals TrackingNumber", "RC328021065CN", tracking.getTrackingNumber());
        Assert.assertEquals("Should be equals Slug", "canada-post", tracking.getSlug());
        Assert.assertEquals("Should be equals type", "Lettermail", tracking.getShipmentType());

        //slug is bad informed
        try{
            Tracking trackingGet2 = new Tracking("RC328021065CN");

            connection.getTrackingByNumber(trackingGet2);
            //always should give an exception before this
            assertTrue("This never should be executed",false);
        }catch (Exception e){
            assertTrue(e.getMessage().contains("4010"));
            assertTrue(e.getMessage().contains("The value of `slug` is invalid."));
        }

        //if the trackingNumber is bad informed
        try{
            Tracking trackingGet3 = new Tracking("adf");
            trackingGet1.setSlug("fedex");
            connection.getTrackingByNumber(trackingGet3);
            //always should give an exception before this
            assertTrue("This never should be executed",false);
        }catch (Exception e){
            assertTrue(e.getMessage().contains("4005"));
            assertTrue(e.getMessage().contains("The value of `tracking_number` is invalid."));
        }

    }