# 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.second_user_sends_ping"
PURPOSE = "Tests that CAF RLZ ping can be sent by a second user."
TIME = "Short"
TEST_CATEGORY = "Functional"
TEST_CLASS = "platform"
TEST_TYPE = "server"
ATTRIBUTES = "suite:rlz"
DOC = """
This tests that the RLZ first-use event (CAF) ping will be sent by the second
user, if it was not sent by the first user to log in. It also verifies that
the ping is not resent when the first user logs in again after the ping.
"""

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, pre_login='no_lock',
                 rlz_embargo_end_date=rlz_embargo_end_date,
                 check_ping_not_resent=True)

job.parallel_simple(run, machines)
