17498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
27498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi# Use of this source code is governed by a BSD-style license that can be
37498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi# found in the LICENSE file.
47498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basiimport ConfigParser
57498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basiimport threading
67498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basiimport xmlrpclib
77498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi
87498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran BasiCONFIG_FILE = 'rpm_config.ini'
97498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran BasiCONFIG = ConfigParser.ConfigParser()
107498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran BasiCONFIG.read(CONFIG_FILE)
117498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basiremote_uri = CONFIG.get('RPM_INFRASTRUCTURE', 'frontend_uri')
127498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi
137498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi
147498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basidef queue_request(dut_hostname, state):
157498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi    client = xmlrpclib.ServerProxy(remote_uri, verbose=False)
167498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi    result = client.queue_request(dut_hostname, state)
177498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi    print dut_hostname, result
187498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi
197498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi
207498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basidef test():
217498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi    """
227498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi    Simple Integration Testing of RPM Infrastructure.
237498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi    """
247498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi    threading.Thread(target=queue_request,
2571c4b1f8a48a8a6607e823a90c0e6db8a70e6b7aFang Deng                     args=('chromeos1-rack8e-hostbs1', 'ON')).start()
267498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi    threading.Thread(target=queue_request,
2771c4b1f8a48a8a6607e823a90c0e6db8a70e6b7aFang Deng                     args=('chromeos1-rack8e-hostbs2.cros', 'OFF')).start()
287498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi    threading.Thread(target=queue_request,
2971c4b1f8a48a8a6607e823a90c0e6db8a70e6b7aFang Deng                     args=('chromeos1-rack8e-hostbs3', 'OFF')).start()
307498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi    threading.Thread(target=queue_request,
317498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi                     args=('chromeos-rack1-hostbs1', 'ON')).start()
327498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi    threading.Thread(target=queue_request,
337498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi                     args=('chromeos-rack1-hostbs2', 'OFF')).start()
347498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi
357498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basi
367498d20028f81b2c3c6f9ce0535b84ce220d2ae2Simran Basiif __name__ == "__main__":
3771c4b1f8a48a8a6607e823a90c0e6db8a70e6b7aFang Deng    test()
38