# 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
language: java
jdk:
- oraclejdk8
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
