def METHOD_NAME(self):
    cases = {"controller:modelname": "application offer URL is missing application",
             "controller:user/modelname": "application offer URL is missing application",
             "modelname": "application offer URL is missing application",
             "/user/modelname": "application offer URL is missing application",
             "modelname.applicationname@bad": "application name applicationname@bad not valid",
             "user[bad/model.application": "user name user[bad not valid",
             "user/[badmodel.application": "model name [badmodel not valid",
             }
    for name, case in cases.items():
        try:
            parse_offer_url(name)
        except ParseError as e:
            self.assertEqual(e.message, case)
        except Exception:
            raise