Example #1
0
    def test_rebuild_dash_layout_settings_dict_default(self):
        # slip in some fake users
        self.setupUserInfoMocks()

        # mock out the App Engine Users API
        self.setupUsersAPIMocks()

        data1 = AppDashboardData()

        user1 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")
        user2 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")
        user3 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")
        user4 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")

        # First call, not logged in.
        self.assertEqual({},
                         data1.rebuild_dash_layout_settings_dict(email=None))

        # First user: [email protected], upload=True, cloud_admin=True
        self.assertEqual(
            self.user_info1_cloud_admin_dict,
            self.flatten_dash_layout(
                data1.rebuild_dash_layout_settings_dict(email=user1.email)))

        # Second user: [email protected], upload=True, cloud_admin=False
        self.assertEqual(
            self.user_info2_can_upload_apps_dict,
            self.flatten_dash_layout(
                data1.rebuild_dash_layout_settings_dict(email=user2.email)))

        # Third user: [email protected], upload=False, cloud_admin=False
        self.assertEqual(
            self.user_info3_cannot_upload_apps_dict,
            self.flatten_dash_layout(
                data1.rebuild_dash_layout_settings_dict(email=user3.email)))

        # Fourth user: [email protected], upload=False, cloud_admin=False
        self.assertEqual(
            self.user_info4_cannot_upload_and_owns_no_apps_dict,
            self.flatten_dash_layout(
                data1.rebuild_dash_layout_settings_dict(email=user4.email)))
  def test_rebuild_dash_layout_settings_dict_default(self):
    # slip in some fake users
    self.setupUserInfoMocks()

    # mock out the App Engine Users API
    self.setupUsersAPIMocks()

    data1 = AppDashboardData()

    user1 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")
    user2 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")
    user3 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")
    user4 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")

    # First call, not logged in.
    self.assertEqual({}, data1.rebuild_dash_layout_settings_dict(email=None))

    # First user: [email protected], upload=True, cloud_admin=True
    self.assertEqual(self.user_info1_cloud_admin_dict, self.flatten_dash_layout(
                     data1.rebuild_dash_layout_settings_dict(
                       email=user1.email)))

    # Second user: [email protected], upload=True, cloud_admin=False
    self.assertEqual(self.user_info2_can_upload_apps_dict,
                     self.flatten_dash_layout(
                       data1.rebuild_dash_layout_settings_dict(
                         email=user2.email)))

    # Third user: [email protected], upload=False, cloud_admin=False
    self.assertEqual(self.user_info3_cannot_upload_apps_dict,
                     self.flatten_dash_layout(
                       data1.rebuild_dash_layout_settings_dict(
                         email=user3.email)))

    # Fourth user: [email protected], upload=False, cloud_admin=False
    self.assertEqual(self.user_info4_cannot_upload_and_owns_no_apps_dict,
                     self.flatten_dash_layout(
                       data1.rebuild_dash_layout_settings_dict(
                         email=user4.email)))
Example #3
0
    def test_rebuild_dash_layout_settings_dict_custom(self):
        # slip in some fake users
        self.setupUserInfoMocks()

        # mock out the App Engine Users API
        self.setupUsersAPIMocks()

        data1 = AppDashboardData()

        user1 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")
        user2 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")
        user3 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")
        user4 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")

        user_setting = {
            "nav": [
                "debugging_monitoring", "appscale_management",
                "app_management", "invalid_key"
            ],
            "panel": [
                "cloud_stats", "database_stats", "upload_app", "app_console",
                "memcache_stats"
            ]
        }
        # First user: [email protected], upload=True, cloud_admin=True
        user1_should_return = {
            "nav":
            ["debugging_monitoring", "appscale_management", "app_management"],
            "panel": [
                "cloud_stats", "database_stats", "upload_app", "app_console",
                "memcache_stats"
            ]
        }
        self.assertEqual(
            self.flatten_dash_layout(
                data1.set_dash_layout_settings(values=user_setting,
                                               user_info=user1)),
            user1_should_return)
        self.assertEqual(
            user1_should_return,
            self.flatten_dash_layout(
                data1.rebuild_dash_layout_settings_dict(email=user1.email)))

        # Second user: [email protected], upload=True, cloud_admin=False
        user_setting = {
            "nav": [
                "debugging_monitoring", "appscale_management",
                "app_management", "invalid_key"
            ],
            "panel": [
                "cloud_stats", "database_stats", "upload_app", "app_console",
                "memcache_stats"
            ]
        }
        user2_should_return = {
            "nav": ["debugging_monitoring", "app_management"],
            "panel": ["upload_app", "app_console"]
        }
        self.assertEqual(
            self.flatten_dash_layout(
                data1.set_dash_layout_settings(values=user_setting,
                                               user_info=user2)),
            user2_should_return)
        self.assertEqual(
            user2_should_return,
            self.flatten_dash_layout(
                data1.rebuild_dash_layout_settings_dict(email=user2.email)))

        # Third user: [email protected], upload=False, cloud_admin=False
        user_setting = {
            "nav": [
                "debugging_monitoring", "appscale_management",
                "app_management", "invalid_key"
            ],
            "panel": [
                "cloud_stats", "database_stats", "upload_app", "app_console",
                "memcache_stats"
            ]
        }
        user3_should_return = {
            "nav": ["debugging_monitoring"],
            "panel": ["upload_app", "app_console"]
        }
        self.assertEqual(
            self.flatten_dash_layout(
                data1.set_dash_layout_settings(values=user_setting,
                                               user_info=user3)),
            user3_should_return)
        self.assertEqual(
            user3_should_return,
            self.flatten_dash_layout(
                data1.rebuild_dash_layout_settings_dict(email=user3.email)))

        # Fourth user: [email protected], upload=False, cloud_admin=False
        user_setting = {
            "nav": [
                "debugging_monitoring", "appscale_management",
                "app_management", "invalid_key"
            ],
            "panel": [
                "cloud_stats", "database_stats", "upload_app", "app_console",
                "memcache_stats"
            ]
        }
        user4_should_return = {
            "nav": [],
            "panel": ["upload_app", "app_console"]
        }
        self.assertEqual(
            self.flatten_dash_layout(
                data1.set_dash_layout_settings(values=user_setting,
                                               user_info=user4)),
            user4_should_return)
        self.assertEqual(
            user4_should_return,
            self.flatten_dash_layout(
                data1.rebuild_dash_layout_settings_dict(email=user4.email)))
  def test_rebuild_dash_layout_settings_dict_custom(self):
    # slip in some fake users
    self.setupUserInfoMocks()

    # mock out the App Engine Users API
    self.setupUsersAPIMocks()

    data1 = AppDashboardData()

    user1 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")
    user2 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")
    user3 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")
    user4 = data1.get_by_id(app_dashboard_data.UserInfo, "*****@*****.**")

    user_setting = {
      "nav":["debugging_monitoring", "appscale_management", "app_management",
             "invalid_key"],
      "panel":["cloud_stats","database_stats","upload_app","app_console",
               "memcache_stats"]
    }
    # First user: [email protected], upload=True, cloud_admin=True
    user1_should_return = {
      "nav":["debugging_monitoring", "appscale_management", "app_management"],
      "panel":["cloud_stats","database_stats","upload_app","app_console",
               "memcache_stats"]
    }
    self.assertEqual(self.flatten_dash_layout(
      data1.set_dash_layout_settings(values=user_setting, user_info=user1)),
      user1_should_return)
    self.assertEqual(user1_should_return,
                     self.flatten_dash_layout(data1.rebuild_dash_layout_settings_dict(
      email=user1.email)))

    # Second user: [email protected], upload=True, cloud_admin=False
    user_setting = {
      "nav":["debugging_monitoring", "appscale_management", "app_management",
             "invalid_key"],
      "panel":["cloud_stats","database_stats","upload_app","app_console",
               "memcache_stats"]
    }
    user2_should_return = {
      "nav":["debugging_monitoring", "app_management"],
      "panel":["upload_app","app_console"]
    }
    self.assertEqual(self.flatten_dash_layout(
      data1.set_dash_layout_settings(values=user_setting, user_info=user2)),
      user2_should_return)
    self.assertEqual(user2_should_return,
                     self.flatten_dash_layout(data1.rebuild_dash_layout_settings_dict(
                       email=user2.email)))

    # Third user: [email protected], upload=False, cloud_admin=False
    user_setting = {
      "nav":["debugging_monitoring", "appscale_management", "app_management",
             "invalid_key"],
      "panel":["cloud_stats","database_stats","upload_app","app_console",
               "memcache_stats"]
    }
    user3_should_return = {
      "nav":["debugging_monitoring"],
      "panel":["upload_app","app_console"]
    }
    self.assertEqual(self.flatten_dash_layout(
      data1.set_dash_layout_settings(values=user_setting, user_info=user3)),
      user3_should_return)
    self.assertEqual(user3_should_return,
                     self.flatten_dash_layout(data1.rebuild_dash_layout_settings_dict(
                       email=user3.email)))

    # Fourth user: [email protected], upload=False, cloud_admin=False
    user_setting = {
      "nav":["debugging_monitoring", "appscale_management", "app_management",
             "invalid_key"],
      "panel":["cloud_stats","database_stats","upload_app","app_console",
               "memcache_stats"]
    }
    user4_should_return = {
      "nav":[],
      "panel":["upload_app","app_console"]
    }
    self.assertEqual(self.flatten_dash_layout(
      data1.set_dash_layout_settings(values=user_setting, user_info=user4)),
      user4_should_return)
    self.assertEqual(user4_should_return,
                     self.flatten_dash_layout(data1.rebuild_dash_layout_settings_dict(
                       email=user4.email)))