15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "components/policy/core/browser/browser_policy_connector.h"
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h"
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace policy {
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST(BrowserPolicyConnectorTest, IsNonEnterpriseUser) {
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // List of example emails that are not enterprise users.
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static const char* kNonEnterpriseUsers[] = {
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "fizz@aol.com",
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "foo@gmail.com",
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "bar@googlemail.com",
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "baz@hotmail.it",
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "baz@hotmail.co.uk",
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "baz@hotmail.com.tw",
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "user@msn.com",
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "another_user@live.com",
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "foo@qq.com",
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "i_love@yahoo.com",
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "i_love@yahoo.com.tw",
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "i_love@yahoo.jp",
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "i_love@yahoo.co.uk",
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "user@yandex.ru"
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  };
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // List of example emails that are potential enterprise users.
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static const char* kEnterpriseUsers[] = {
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "foo@google.com",
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "chrome_rules@chromium.org",
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    "user@hotmail.enterprise.com",
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  };
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  for (unsigned int i = 0; i < arraysize(kNonEnterpriseUsers); ++i) {
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    std::string username(kNonEnterpriseUsers[i]);
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    EXPECT_TRUE(BrowserPolicyConnector::IsNonEnterpriseUser(username)) <<
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        "IsNonEnterpriseUser returned false for " << username;
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  for (unsigned int i = 0; i < arraysize(kEnterpriseUsers); ++i) {
422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    std::string username(kEnterpriseUsers[i]);
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    EXPECT_FALSE(BrowserPolicyConnector::IsNonEnterpriseUser(username)) <<
442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        "IsNonEnterpriseUser returned true for " << username;
452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  }
462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace policy
49