Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Side by Side Diff: infra_libs/ts_mon/common/test/targets_test.py

Issue 2213143002: Add infra_libs as a bootstrap dependency. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Removed the ugly import hack Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 import unittest
6
7 from infra_libs.ts_mon.common import targets
8 from infra_libs.ts_mon.protos import metrics_pb2
9
10
11 class DeviceTargetTest(unittest.TestCase):
12
13 def test_populate_target(self):
14 pb = metrics_pb2.MetricsData()
15 t = targets.DeviceTarget('reg', 'role', 'net', 'host')
16 t._populate_target_pb(pb)
17 self.assertEquals(pb.network_device.metro, 'reg')
18 self.assertEquals(pb.network_device.role, 'role')
19 self.assertEquals(pb.network_device.hostgroup, 'net')
20 self.assertEquals(pb.network_device.hostname, 'host')
21 self.assertEquals(pb.network_device.realm, 'ACQ_CHROME')
22 self.assertEquals(pb.network_device.alertable, True)
23
24 def test_update_to_dict(self):
25 target = targets.DeviceTarget('reg', 'role', 'net', 'host')
26 self.assertEqual({
27 'region': 'reg',
28 'role': 'role',
29 'network': 'net',
30 'hostname': 'host'}, target.to_dict())
31 target.update({'region': 'other', 'hostname': 'guest'})
32 self.assertEqual({
33 'region': 'other',
34 'role': 'role',
35 'network': 'net',
36 'hostname': 'guest'}, target.to_dict())
37
38 def test_update_private_field(self):
39 target = targets.DeviceTarget('reg', 'role', 'net', 'host')
40 with self.assertRaises(AttributeError):
41 target.update({'realm': 'boo'})
42
43 def test_update_nonexistent_field(self):
44 target = targets.DeviceTarget('reg', 'role', 'net', 'host')
45 # Simulate a bug: exporting a non-existent field.
46 target._fields += ('bad',)
47 with self.assertRaises(AttributeError):
48 target.update({'bad': 'boo'})
49
50
51 class TaskTargetTest(unittest.TestCase):
52
53 def test_populate_target(self):
54 pb = metrics_pb2.MetricsData()
55 t = targets.TaskTarget('serv', 'job', 'reg', 'host')
56 t._populate_target_pb(pb)
57 self.assertEquals(pb.task.service_name, 'serv')
58 self.assertEquals(pb.task.job_name, 'job')
59 self.assertEquals(pb.task.data_center, 'reg')
60 self.assertEquals(pb.task.host_name, 'host')
61 self.assertEquals(pb.task.task_num, 0)
62
63 def test_update_to_dict(self):
64 target = targets.TaskTarget('serv', 'job', 'reg', 'host', 5)
65 self.assertEqual({
66 'service_name': 'serv',
67 'job_name': 'job',
68 'region': 'reg',
69 'hostname': 'host',
70 'task_num': 5}, target.to_dict())
71 target.update({'region': 'other', 'hostname': 'guest'})
72 self.assertEqual({
73 'service_name': 'serv',
74 'job_name': 'job',
75 'region': 'other',
76 'hostname': 'guest',
77 'task_num': 5}, target.to_dict())
78
79 def test_update_private_field(self):
80 target = targets.TaskTarget('serv', 'job', 'reg', 'host')
81 with self.assertRaises(AttributeError):
82 target.update({'realm': 'boo'})
83
84 def test_update_nonexistent_field(self):
85 target = targets.TaskTarget('serv', 'job', 'reg', 'host')
86 # Simulate a bug: exporting a non-existent field.
87 target._fields += ('bad',)
88 with self.assertRaises(AttributeError):
89 target.update({'bad': 'boo'})
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698