1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chrome/browser/chromeos/drive/file_system/touch_operation.h" 6 7 #include "base/files/file_path.h" 8 #include "base/time/time.h" 9 #include "chrome/browser/chromeos/drive/drive.pb.h" 10 #include "chrome/browser/chromeos/drive/file_errors.h" 11 #include "chrome/browser/chromeos/drive/file_system/operation_test_base.h" 12 #include "chrome/browser/chromeos/drive/resource_metadata.h" 13 #include "chrome/browser/google_apis/test_util.h" 14 #include "testing/gtest/include/gtest/gtest.h" 15 16 namespace drive { 17 namespace file_system { 18 19 typedef OperationTestBase TouchOperationTest; 20 21 TEST_F(TouchOperationTest, TouchFile) { 22 TouchOperation operation(blocking_task_runner(), 23 observer(), 24 scheduler(), 25 metadata()); 26 27 const base::FilePath kTestPath(FILE_PATH_LITERAL("drive/root/File 1.txt")); 28 const base::Time::Exploded kLastAccessTime = { 29 2012, 7, 0, 19, 15, 59, 13, 123 30 }; 31 const base::Time::Exploded kLastModifiedTime = { 32 2013, 7, 0, 19, 15, 59, 13, 123 33 }; 34 35 FileError error = FILE_ERROR_FAILED; 36 operation.TouchFile( 37 kTestPath, 38 base::Time::FromUTCExploded(kLastAccessTime), 39 base::Time::FromUTCExploded(kLastModifiedTime), 40 google_apis::test_util::CreateCopyResultCallback(&error)); 41 test_util::RunBlockingPoolTask(); 42 EXPECT_EQ(FILE_ERROR_OK, error); 43 44 ResourceEntry entry; 45 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(kTestPath, &entry)); 46 EXPECT_EQ(base::Time::FromUTCExploded(kLastAccessTime), 47 base::Time::FromInternalValue(entry.file_info().last_accessed())); 48 EXPECT_EQ(base::Time::FromUTCExploded(kLastModifiedTime), 49 base::Time::FromInternalValue(entry.file_info().last_modified())); 50 } 51 52 } // namespace file_system 53 } // namespace drive 54