Esempio n. 1
0
 def test_process_leases_records_update(self):
     self.set_lease_state()
     self.patch(leases_module, 'send_leases', FakeMethod())
     new_leases = factory.make_random_leases()
     self.fake_leases_file(new_leases)
     process_leases(datetime.utcnow(), new_leases)
     self.assertIsNone(check_lease_changes())
Esempio n. 2
0
 def test_check_lease_changes_returns_tuple_if_no_state_cached(self):
     self.set_lease_state()
     leases = factory.make_random_leases()
     leases_file = self.fake_leases_file(leases)
     self.assertEqual(
         (get_write_time(leases_file), leases),
         check_lease_changes())
Esempio n. 3
0
 def test_send_leases_does_nothing_without_credentials(self):
     self.patch(MAASClient, 'post', FakeMethod())
     self.set_items_needed_for_lease_update()
     self.clear_api_credentials()
     leases = factory.make_random_leases()
     send_leases(leases)
     self.assertEqual([], MAASClient.post.calls)
Esempio n. 4
0
 def test_update_leases_does_nothing_without_lease_changes(self):
     fake_send_leases = FakeMethod()
     self.patch(leases_module, 'send_leases', fake_send_leases)
     leases = factory.make_random_leases()
     leases_file = self.fake_leases_file(leases)
     self.set_lease_state(get_write_time(leases_file), leases.copy())
     self.assertEqual([], leases_module.send_leases.calls)
Esempio n. 5
0
 def test_update_leases_does_nothing_without_lease_changes(self):
     fake_send_leases = FakeMethod()
     self.patch(leases_module, 'send_leases', fake_send_leases)
     leases = factory.make_random_leases()
     leases_file = self.fake_leases_file(leases)
     self.set_lease_state(get_write_time(leases_file), leases.copy())
     self.assertEqual([], leases_module.send_leases.calls)
Esempio n. 6
0
 def test_process_leases_records_update(self):
     self.set_lease_state()
     self.patch(leases_module, 'send_leases', FakeMethod())
     new_leases = factory.make_random_leases()
     self.fake_leases_file(new_leases)
     process_leases(datetime.utcnow(), new_leases)
     self.assertIsNone(check_lease_changes())
Esempio n. 7
0
 def test_send_leases_does_nothing_without_credentials(self):
     self.patch(MAASClient, 'post', FakeMethod())
     self.set_items_needed_for_lease_update()
     self.clear_api_credentials()
     leases = factory.make_random_leases()
     send_leases(leases)
     self.assertEqual([], MAASClient.post.calls)
Esempio n. 8
0
 def test_check_lease_changes_returns_tuple_if_lease_added(self):
     leases = factory.make_random_leases()
     self.set_lease_state(datetime.utcnow() - timedelta(seconds=10),
                          leases.copy())
     leases[factory.getRandomIPAddress()] = factory.getRandomMACAddress()
     leases_file = self.fake_leases_file(leases)
     self.assertEqual((get_write_time(leases_file), leases),
                      check_lease_changes())
Esempio n. 9
0
 def test_record_lease_state_records_time_and_leases(self):
     time = datetime.utcnow()
     leases = factory.make_random_leases()
     record_lease_state(time, leases)
     self.assertEqual((time, leases), (
         cache.cache.get(LEASES_TIME_CACHE_KEY),
         cache.cache.get(LEASES_CACHE_KEY),
     ))
Esempio n. 10
0
 def test_upload_leases_processes_leases_unconditionally(self):
     leases = factory.make_random_leases()
     leases_file = self.fake_leases_file(leases)
     self.set_lease_state(get_write_time(leases_file), leases.copy())
     self.patch(leases_module, 'send_leases', FakeMethod())
     upload_leases()
     self.assertEqual([(leases, )],
                      leases_module.send_leases.extract_args())
Esempio n. 11
0
 def test_check_lease_changes_returns_tuple_if_leases_dropped(self):
     self.set_lease_state(
         datetime.utcnow() - timedelta(seconds=10),
         factory.make_random_leases())
     leases_file = self.fake_leases_file({})
     self.assertEqual(
         (get_write_time(leases_file), {}),
         check_lease_changes())
Esempio n. 12
0
 def test_make_random_leases_maps_ips_to_macs(self):
     [(ip, mac)] = factory.make_random_leases().items()
     self.assertEqual(
         4, len(ip.split('.')),
         "IP address does not look like an IP address: '%s'" % ip)
     self.assertEqual(
         6, len(mac.split(':')),
         "MAC address does not look like a MAC address: '%s'" % mac)
Esempio n. 13
0
 def test_make_random_leases_maps_ips_to_macs(self):
     [(ip, mac)] = factory.make_random_leases().items()
     self.assertEqual(
         4, len(ip.split('.')),
         "IP address does not look like an IP address: '%s'" % ip)
     self.assertEqual(
         6, len(mac.split(':')),
         "MAC address does not look like a MAC address: '%s'" % mac)
Esempio n. 14
0
 def test_update_leases_processes_leases_if_changed(self):
     self.set_lease_state()
     self.patch(leases_module, 'send_leases', FakeMethod())
     leases = factory.make_random_leases()
     self.fake_leases_file(leases)
     self.patch(Omshell, 'create', FakeMethod())
     update_leases()
     self.assertEqual([(leases, )],
                      leases_module.send_leases.extract_args())
Esempio n. 15
0
 def test_record_lease_state_records_time_and_leases(self):
     time = datetime.utcnow()
     leases = factory.make_random_leases()
     record_lease_state(time, leases)
     self.assertEqual(
         (time, leases), (
             cache.cache.get(LEASES_TIME_CACHE_KEY),
             cache.cache.get(LEASES_CACHE_KEY),
             ))
Esempio n. 16
0
 def test_check_lease_changes_returns_tuple_if_lease_added(self):
     leases = factory.make_random_leases()
     self.set_lease_state(
         datetime.utcnow() - timedelta(seconds=10), leases.copy())
     leases[factory.getRandomIPAddress()] = factory.getRandomMACAddress()
     leases_file = self.fake_leases_file(leases)
     self.assertEqual(
         (get_write_time(leases_file), leases),
         check_lease_changes())
Esempio n. 17
0
 def test_upload_leases_processes_leases_unconditionally(self):
     leases = factory.make_random_leases()
     leases_file = self.fake_leases_file(leases)
     self.set_lease_state(get_write_time(leases_file), leases.copy())
     self.patch(leases_module, 'send_leases', FakeMethod())
     upload_leases()
     self.assertEqual(
         [(leases, )],
         leases_module.send_leases.extract_args())
Esempio n. 18
0
 def test_update_leases_processes_leases_if_changed(self):
     self.set_lease_state()
     self.patch(leases_module, 'send_leases', FakeMethod())
     leases = factory.make_random_leases()
     self.fake_leases_file(leases)
     self.patch(Omshell, 'create', FakeMethod())
     update_leases()
     self.assertEqual(
         [(leases, )],
         leases_module.send_leases.extract_args())
Esempio n. 19
0
 def test_process_leases_records_state_before_sending(self):
     self.set_lease_state()
     self.patch(Omshell, 'create', FakeMethod())
     self.fake_leases_file({})
     self.patch(
         leases_module, 'send_leases', FakeMethod(failure=StopExecuting()))
     new_leases = factory.make_random_leases()
     try:
         process_leases(datetime.utcnow(), new_leases)
     except StopExecuting:
         pass
     self.fake_leases_file(new_leases)
     self.assertIsNone(check_lease_changes())
Esempio n. 20
0
 def test_process_leases_records_state_before_sending(self):
     self.set_lease_state()
     self.patch(Omshell, 'create', FakeMethod())
     self.fake_leases_file({})
     self.patch(leases_module, 'send_leases',
                FakeMethod(failure=StopExecuting()))
     new_leases = factory.make_random_leases()
     try:
         process_leases(datetime.utcnow(), new_leases)
     except StopExecuting:
         pass
     self.fake_leases_file(new_leases)
     self.assertIsNone(check_lease_changes())
Esempio n. 21
0
 def test_make_random_leases_randomizes_ips(self):
     self.assertNotEqual(
         factory.make_random_leases().keys(),
         factory.make_random_leases().keys())
Esempio n. 22
0
 def test_check_lease_changes_returns_tuple_if_leases_dropped(self):
     self.set_lease_state(datetime.utcnow() - timedelta(seconds=10),
                          factory.make_random_leases())
     leases_file = self.fake_leases_file({})
     self.assertEqual((get_write_time(leases_file), {}),
                      check_lease_changes())
Esempio n. 23
0
 def test_check_lease_changes_returns_None_if_no_change(self):
     leases = factory.make_random_leases()
     leases_file = self.fake_leases_file(leases)
     self.set_lease_state(get_write_time(leases_file), leases.copy())
     self.assertIsNone(check_lease_changes())
Esempio n. 24
0
 def test_check_lease_changes_ignores_irrelevant_changes(self):
     leases = factory.make_random_leases()
     self.fake_leases_file(leases, age=10)
     self.set_lease_state(datetime.utcnow(), leases.copy())
     self.assertIsNone(check_lease_changes())
Esempio n. 25
0
 def test_check_lease_changes_ignores_irrelevant_changes(self):
     leases = factory.make_random_leases()
     self.fake_leases_file(leases, age=10)
     self.set_lease_state(datetime.utcnow(), leases.copy())
     self.assertIsNone(check_lease_changes())
Esempio n. 26
0
 def test_check_lease_changes_returns_None_if_no_change(self):
     leases = factory.make_random_leases()
     leases_file = self.fake_leases_file(leases)
     self.set_lease_state(get_write_time(leases_file), leases.copy())
     self.assertIsNone(check_lease_changes())
Esempio n. 27
0
 def test_make_random_leases_randomizes_macs(self):
     self.assertNotEqual(
         factory.make_random_leases().values(),
         factory.make_random_leases().values())
Esempio n. 28
0
 def test_make_random_leases_randomizes_ips(self):
     self.assertNotEqual(factory.make_random_leases().keys(),
                         factory.make_random_leases().keys())
Esempio n. 29
0
 def test_make_random_leases_returns_requested_number_of_leases(self):
     num_leases = randint(0, 3)
     self.assertEqual(
         num_leases,
         len(factory.make_random_leases(num_leases)))
Esempio n. 30
0
 def test_make_random_leases_randomizes_macs(self):
     self.assertNotEqual(
         list(factory.make_random_leases().values()),
         list(factory.make_random_leases().values()),
     )
Esempio n. 31
0
 def test_make_random_leases_returns_requested_number_of_leases(self):
     num_leases = randint(0, 3)
     self.assertEqual(num_leases,
                      len(factory.make_random_leases(num_leases)))
Esempio n. 32
0
 def test_check_lease_changes_returns_tuple_if_no_state_cached(self):
     self.set_lease_state()
     leases = factory.make_random_leases()
     leases_file = self.fake_leases_file(leases)
     self.assertEqual((get_write_time(leases_file), leases),
                      check_lease_changes())