diff --git a/sitewide/test/moved_test.py b/sitewide/test/moved_test.py
index eccb195..2f4ee4f 100644
--- a/sitewide/test/moved_test.py
+++ b/sitewide/test/moved_test.py
@@ -1,17 +1,15 @@
-# Copyright 2016 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file or at
-# https://developers.google.com/open-source/licenses/bsd
+# Copyright 2016 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
 
 """Unit tests for the moved project notification page servlet."""
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
 
+import six
 import unittest
 
-import webapp2
-
 from framework import exceptions
 from services import service_manager
 from sitewide import moved
@@ -62,9 +60,8 @@
         path='/hosting/moved?project=%s' % self.old_project)
 
     page_data = self.servlet.GatherPageData(mr)
-    self.assertItemsEqual(
-        ['project_name', 'moved_to_url'],
-        list(page_data.keys()))
+    six.assertCountEqual(
+        self, ['project_name', 'moved_to_url'], list(page_data.keys()))
     self.assertEqual(self.old_project, page_data['project_name'])
     self.assertEqual('https://other-tracker.bugs', page_data['moved_to_url'])
 
@@ -76,9 +73,8 @@
         path='/hosting/moved?project=%s' % self.old_project)
 
     page_data = self.servlet.GatherPageData(mr)
-    self.assertItemsEqual(
-        ['project_name', 'moved_to_url'],
-        list(page_data.keys()))
+    six.assertCountEqual(
+        self, ['project_name', 'moved_to_url'], list(page_data.keys()))
     self.assertEqual(self.old_project, page_data['project_name'])
     self.assertEqual('http://127.0.0.1/p/new-project/',
                      page_data['moved_to_url'])
@@ -91,9 +87,8 @@
         path='/hosting/moved?project=%s' % self.old_project)
 
     page_data = self.servlet.GatherPageData(mr)
-    self.assertItemsEqual(
-        ['project_name', 'moved_to_url'],
-        list(page_data.keys()))
+    six.assertCountEqual(
+        self, ['project_name', 'moved_to_url'], list(page_data.keys()))
     self.assertEqual(self.old_project, page_data['project_name'])
     self.assertEqual('http://127.0.0.1/p/http-project/',
                      page_data['moved_to_url'])
@@ -106,8 +101,7 @@
         path='/hosting/moved?project=%s' % self.old_project)
 
     page_data = self.servlet.GatherPageData(mr)
-    self.assertItemsEqual(
-        ['project_name', 'moved_to_url'],
-        list(page_data.keys()))
+    six.assertCountEqual(
+        self, ['project_name', 'moved_to_url'], list(page_data.keys()))
     self.assertEqual(self.old_project, page_data['project_name'])
     self.assertEqual('#invalid-destination-url', page_data['moved_to_url'])
