# 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.
sudo: required
dist: trusty
group: edge
language: java
jdk:
- openjdk7
python:
  - "2.7"
cache:
  directories:
  - $HOME/.m2
  timeout: 500
notifications:
  email: false
env:
  global:
     - PATH=$HOME/.local/bin:$PATH
  matrix:
    - TESTS="smoke/test_affinity_groups
             smoke/test_affinity_groups_projects
             smoke/test_deploy_vgpu_enabled_vm
             smoke/test_deploy_vm_iso
             smoke/test_deploy_vm_root_resize
             smoke/test_deploy_vm_with_userdata
             smoke/test_deploy_vms_with_varied_deploymentplanners
             smoke/test_disk_offerings
             smoke/test_dynamicroles
             smoke/test_global_settings
             smoke/test_guest_vlan_range
             smoke/test_hosts
             smoke/test_internal_lb
             smoke/test_iso
             smoke/test_list_ids_parameter
             smoke/test_loadbalance
             smoke/test_login
             smoke/test_metrics_api
             smoke/test_multipleips_per_nic
             smoke/test_network
             smoke/test_network_acl
             smoke/test_nic
             smoke/test_nic_adapter_type
             smoke/test_non_contigiousvlan"

    - TESTS="smoke/test_outofbandmanagement
             smoke/test_over_provisioning
             smoke/test_password_server
             smoke/test_portable_publicip
             smoke/test_primary_storage
             smoke/test_privategw_acl
             smoke/test_public_ip_range
             smoke/test_pvlan
             smoke/test_regions
             smoke/test_reset_vm_on_reboot
             smoke/test_resource_detail
             smoke/test_router_dhcphosts
             smoke/test_router_dns
             smoke/test_routers
             smoke/test_routers_iptables_default_policy
             smoke/test_routers_network_ops
             smoke/test_scale_vm
             smoke/test_secondary_storage
             smoke/test_service_offerings
             smoke/test_snapshots
             smoke/test_ssvm
             smoke/test_staticroles
             smoke/test_templates
             smoke/test_usage_events
             smoke/test_vm_life_cycle
             smoke/test_vm_snapshots
             smoke/test_volumes
             smoke/test_vpc_redundant
             smoke/test_vpc_router_nics
             smoke/test_vpc_vpn
             smoke/misc/test_deploy_vm
             smoke/misc/test_escalations_templates
             smoke/misc/test_vm_ha
             smoke/misc/test_vm_sync"

    - TESTS="component/find_hosts_for_migration
             component/test_acl_isolatednetwork_delete
             component/test_acl_listsnapshot
             component/test_acl_listvm
             component/test_acl_listvolume
             component/test_acl_sharednetwork
             component/test_acl_sharednetwork_deployVM-impersonation"
             component/test_cpu_limits"

    - TESTS="component/test_cpu_max_limits
             component/test_cpu_project_limits
             component/test_deploy_vm_userdata_multi_nic
             component/test_egress_fw_rules
             component/test_invalid_gw_nm
             component/test_ip_reservation
             component/test_lb_secondary_ip"

    - TESTS="component/test_memory_limits
             component/test_mm_domain_limits
             component/test_mm_max_limits
             component/test_mm_project_limits
             component/test_network_offering
             component/test_non_contiguous_vlan
             component/test_persistent_networks"

    - TESTS="component/test_projects
             component/test_project_configs
             component/test_project_limits
             component/test_project_usage
             component/test_regions
             component/test_regions_accounts
             component/test_routers
             component/test_snapshots"

    - TESTS="component/test_resource_limits"

    - TESTS="component/test_stopped_vm
             component/test_tags
             component/test_templates
             component/test_update_vm
             component/test_usage"

    - TESTS="component/test_volumes
             component/test_vpc_network
             component/test_vpc_offerings
             component/test_vpn_users"

# FIXME: fix following tests and include them in Travis
#    - TESTS="component/test_affinity_groups_projects"
#    - TESTS="component/test_allocation_states"
#    - TESTS="component/test_vpc"
#    - TESTS="component/test_project_resources"
#    - TESTS="component/test_cpu_domain_limits"
#    - TESTS="component/test_acl_isolatednetwork"
#    - TESTS="component/test_accounts"
#    - TESTS="component/test_organization_states"

before_install: travis_wait 30 ./tools/travis/before_install.sh
install: ./tools/travis/install.sh
before_script: travis_wait 30 ./tools/travis/before_script.sh
script:
  - travis_wait 40 ./tools/travis/script.sh ${TESTS}
after_success: ./tools/travis/after_success.sh
after_failure: ./tools/travis/after_failure.sh
after_script: ./tools/travis/after_script.sh
