def METHOD_NAME(self, bootstrap_config):
    ensure_plans(bootstrap_config, True, apps)
    for (edition, is_trial, has_report_builder), config in bootstrap_config.items():
        software_plan_version = DefaultProductPlan.get_default_plan_version(
            edition=edition, is_trial=is_trial, is_report_builder_enabled=has_report_builder
        )
        self.assertEqual(software_plan_version.role.slug, config['role'])
        self.assertEqual(software_plan_version.product_rate.monthly_fee, config['product_rate_monthly_fee'])
        self.assertEqual(
            software_plan_version.user_limit,
            config['feature_rates'][FeatureType.USER]['monthly_limit']
        )
        self.assertEqual(
            software_plan_version.user_feature.per_excess_fee,
            config['feature_rates'][FeatureType.USER]['per_excess_fee']
        )
        sms_feature_rate = software_plan_version.feature_rates.get(feature__feature_type=FeatureType.SMS)
        self.assertEqual(
            sms_feature_rate.monthly_limit,
            config['feature_rates'][FeatureType.SMS]['monthly_limit']
        )
        self.assertEqual(sms_feature_rate.per_excess_fee, 0)