def test_delete_indexes_if_unchanged(self, api_key, endpoint, index_name,
                                         **kwargs):
        client = SearchIndexClient(endpoint, AzureKeyCredential(api_key))

        # First create an index
        name = "hotels"
        fields = [{
            "name": "hotelId",
            "type": "Edm.String",
            "key": True,
            "searchable": False
        }, {
            "name": "baseRate",
            "type": "Edm.Double"
        }]
        scoring_profile = ScoringProfile(name="MyProfile")
        scoring_profiles = []
        scoring_profiles.append(scoring_profile)
        cors_options = CorsOptions(allowed_origins=["*"],
                                   max_age_in_seconds=60)
        index = SearchIndex(name=name,
                            fields=fields,
                            scoring_profiles=scoring_profiles,
                            cors_options=cors_options)
        result = client.create_index(index)
        etag = result.e_tag
        # get e tag  and update
        index.scoring_profiles = []
        client.create_or_update_index(index)

        index.e_tag = etag
        with pytest.raises(HttpResponseError):
            client.delete_index(index,
                                match_condition=MatchConditions.IfNotModified)
 def test_create_or_update_index(self, api_key, endpoint, index_name,
                                 **kwargs):
     name = "hotels"
     fields = [
         SimpleField(name="hotelId",
                     type=SearchFieldDataType.String,
                     key=True),
         SimpleField(name="baseRate", type=SearchFieldDataType.Double)
     ]
     cors_options = CorsOptions(allowed_origins=["*"],
                                max_age_in_seconds=60)
     scoring_profiles = []
     index = SearchIndex(name=name,
                         fields=fields,
                         scoring_profiles=scoring_profiles,
                         cors_options=cors_options)
     client = SearchIndexClient(endpoint, AzureKeyCredential(api_key))
     result = client.create_or_update_index(index=index)
     assert len(result.scoring_profiles) == 0
     assert result.cors_options.allowed_origins == cors_options.allowed_origins
     assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds
     scoring_profile = ScoringProfile(name="MyProfile")
     scoring_profiles = []
     scoring_profiles.append(scoring_profile)
     index = SearchIndex(name=name,
                         fields=fields,
                         scoring_profiles=scoring_profiles,
                         cors_options=cors_options)
     result = client.create_or_update_index(index=index)
     assert result.scoring_profiles[0].name == scoring_profile.name
     assert result.cors_options.allowed_origins == cors_options.allowed_origins
     assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds