<!--
 ! Licensed to the Apache Software Foundation (ASF) under one
 ! or more contributor license agreements. See the NOTICE file
 ! distributed with this work for additional information
 ! regarding copyright ownership. The ASF licenses this file
 ! to you under the Apache License, Version 2.0 (the
 ! "License"); you may not use this file except in compliance
 ! with the License. You may obtain a copy of the License at
 !
 ! http://www.apache.org/licenses/LICENSE-2.0
 !
 ! Unless required by applicable law or agreed to in writing,
 ! software distributed under the License is distributed on an
 ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 ! KIND, either express or implied.    See the License for the
 ! specific language governing permissions and limitations
 ! under the License.
 !-->
<test-suite  xmlns="urn:xml.testframework.asterix.apache.org"
             ResultOffsetPath="results"
             QueryOffsetPath="queries"
             QueryFileExtension=".sqlpp">
  <test-group name="channel">
    <test-case FilePath="procedure">
      <compilation-unit name="create_procedure_check_metadata">
        <output-dir compare="Text">create_procedure_check_metadata</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="procedure">
      <compilation-unit name="delete_procedure">
        <output-dir compare="Text">delete_procedure</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="procedure">
      <compilation-unit name="delete_procedure_with_parameters">
        <output-dir compare="Text">delete_procedure_with_parameters</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="procedure">
      <compilation-unit name="query_procedure">
        <output-dir compare="Text">query_procedure</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="procedure">
      <compilation-unit name="query_procedure_with_parameters">
        <output-dir compare="Text">query_procedure_with_parameters</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="procedure">
      <compilation-unit name="insert_procedure">
        <output-dir compare="Text">insert_procedure</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="procedure">
      <compilation-unit name="concurrent_procedure">
        <output-dir compare="Text">concurrent_procedure</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="procedure">
      <compilation-unit name="insert_procedure_drop_dataset">
        <output-dir compare="Text">insert_procedure_drop_dataset</output-dir>
        <expected-error>Cannot alter dataset channels.UserLocations. two.addMe(Procedure) depends on it!</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="procedure">
      <compilation-unit name="insert_procedure_drop_dataverse">
        <output-dir compare="Text">insert_procedure_drop_dataverse</output-dir>
        <expected-error>Cannot drop dataverse channels. two.addMe(Procedure) depends on it!</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="procedure">
      <compilation-unit name="delete_procedure_drop_dataset">
        <output-dir compare="Text">delete_procedure_drop_dataset</output-dir>
        <expected-error>Cannot alter dataset channels.UserLocations. two.deleteAll(Procedure) depends on it!</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="procedure">
      <compilation-unit name="delete_procedure_drop_function">
        <output-dir compare="Text">delete_procedure_drop_function</output-dir>
        <expected-error>Cannot drop function two.really_contains@2. two.deleteSome(Procedure) depends on it!</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="procedure">
      <compilation-unit name="delete_procedure_drop_index">
        <output-dir compare="Text">delete_procedure_drop_index</output-dir>
        <expected-error>Cannot alter dataset channels.UserLocations. two.deleteAll(Procedure) depends on it!</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="procedure">
      <compilation-unit name="query_procedure_drop_dataset">
        <output-dir compare="Text">query_procedure_drop_dataset</output-dir>
        <expected-error>Cannot alter dataset channels.UserLocations. two.findMe(Procedure) depends on it!</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="procedure">
      <compilation-unit name="query_procedure_drop_function">
        <output-dir compare="Text">query_procedure_drop_function</output-dir>
        <expected-error>Cannot drop function channels.really_contains@2. two.selectSome(Procedure) depends on it!</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="procedure">
      <compilation-unit name="repetitive_insert_procedure">
        <output-dir compare="Text">repetitive_insert_procedure</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="create_channel_check_datasets">
        <output-dir compare="Text">create_channel_check_datasets</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="create_channel_check_metadata">
        <output-dir compare="Text">create_channel_check_metadata</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="drop_channel_check_datasets">
        <output-dir compare="Text">drop_channel_check_datasets</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="drop_channel_check_metadata">
        <output-dir compare="Text">drop_channel_check_metadata</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="subscribe_channel_check_subscriptions">
        <output-dir compare="Text">subscribe_channel_check_subscriptions</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="drop_function">
        <output-dir compare="Text">drop_function</output-dir>
        <expected-error>Cannot drop function channels.NearbyTweetsContainingText@2. two.nearbyTweetChannel(Channel) depends on it!</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="drop_index">
        <output-dir compare="Text">drop_index</output-dir>
        <expected-error>Cannot drop index. channels.EmergencyChannel(Channel) depends on it!</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="add_index">
        <output-dir compare="Text">add_index</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="drop_results">
        <output-dir compare="Text">drop_results</output-dir>
        <expected-error>Cannot alter dataset two.nearbyTweetChannelResults. two.nearbyTweetChannel(Channel) depends on it!</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="drop_subscriptions">
        <output-dir compare="Text">drop_subscriptions</output-dir>
        <expected-error>Cannot alter dataset two.nearbyTweetChannelChannelSubscriptions. two.nearbyTweetChannel(Channel) depends on it!</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="drop_function_dataverse">
        <output-dir compare="Text">drop_function_dataverse</output-dir>
        <expected-error>Cannot drop dataverse channels. two.nearbyTweetChannel(Channel) depends on it!</expected-error>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="shared_subscriptions">
        <output-dir compare="Text">shared_subscriptions</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="room_occupants">
        <output-dir compare="Text">room_occupants</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="disasters_with_friends">
        <output-dir compare="Text">disasters_with_friends</output-dir>
      </compilation-unit>
    </test-case>
    <test-case FilePath="channel">
      <compilation-unit name="ten_minute_channel">
        <output-dir compare="Text">ten_minute_channel</output-dir>
      </compilation-unit>
    </test-case>
  </test-group>
</test-suite>
