# Copyright 2020 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

AUTHOR = "kyleshima, Chromium OS"
NAME = "rlz_CheckPing.future_embargo_date"
PURPOSE = "Test rlz related vpd setting: rlz_emargo_end_date."
TIME = "Short"
TEST_CATEGORY = "Functional"
TEST_CLASS = "platform"
TEST_TYPE = "server"
ATTRIBUTES = "suite:rlz"
DOC = """
This tests that no RLZ first-use event (CAF) ping is sent if today's date is
earlier than the rlz_embargo_end_date.
"""

import datetime

def run(machine):
    host = hosts.create_host(machine)
    rlz_embargo_end_date = (datetime.date.today() + datetime.timedelta(days=2))
    job.run_test('rlz_CheckPing', host=host,
                 rlz_embargo_end_date=rlz_embargo_end_date)

job.parallel_simple(run, machines)
