15c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// Copyright 2014 The Chromium Authors. All rights reserved. 2868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// found in the LICENSE file. 4868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 5868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/basictypes.h" 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/files/file_util.h" 7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/files/scoped_temp_dir.h" 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "storage/browser/fileapi/sandbox_isolated_origin_database.h" 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "storage/browser/fileapi/sandbox_origin_database.h" 10868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 11868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 1203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)using storage::SandboxIsolatedOriginDatabase; 135c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 145c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liunamespace content { 15868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 161e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)namespace { 171e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)const base::FilePath::CharType kOriginDirectory[] = FILE_PATH_LITERAL("iso"); 181e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} // namespace 191e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 20868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)TEST(SandboxIsolatedOriginDatabaseTest, BasicTest) { 21868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) base::ScopedTempDir dir; 22868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) ASSERT_TRUE(dir.CreateUniqueTempDir()); 23868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 24868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) std::string kOrigin("origin"); 251e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) SandboxIsolatedOriginDatabase database(kOrigin, dir.path(), 261e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) base::FilePath(kOriginDirectory)); 27868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 28868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) EXPECT_TRUE(database.HasOriginPath(kOrigin)); 29868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 30868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) base::FilePath path1, path2; 31868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 32868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) EXPECT_FALSE(database.GetPathForOrigin(std::string(), &path1)); 33868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) EXPECT_FALSE(database.GetPathForOrigin("foo", &path1)); 34868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 35868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) EXPECT_TRUE(database.HasOriginPath(kOrigin)); 36868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) EXPECT_TRUE(database.GetPathForOrigin(kOrigin, &path1)); 37868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) EXPECT_TRUE(database.GetPathForOrigin(kOrigin, &path2)); 38868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) EXPECT_FALSE(path1.empty()); 39868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) EXPECT_FALSE(path2.empty()); 40868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) EXPECT_EQ(path1, path2); 41868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)} 42868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 435c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu} // namespace content 44