Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(271)

Side by Side Diff: remoting/ios/data_store_unittest.mm

Issue 475333004: Remove old Chromoting iOS client (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « remoting/ios/data_store.mm ('k') | remoting/ios/host.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2014 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 #if !defined(__has_feature) || !__has_feature(objc_arc)
6 #error "This file requires ARC support."
7 #endif
8
9 #import "remoting/ios/data_store.h"
10
11 #import "base/compiler_specific.h"
12 #import "testing/gtest_mac.h"
13
14 namespace remoting {
15
16 namespace {
17
18 NSString* kHostId = @"testHost";
19 NSString* kHostPin = @"testHostPin";
20 NSString* kPairId = @"testPairId";
21 NSString* kPairSecret = @"testPairSecret";
22
23 } // namespace
24
25 class DataStoreTest : public ::testing::Test {
26 protected:
27 virtual void SetUp() OVERRIDE {
28 store_ = [[DataStore allocWithZone:nil] init];
29 RemoveAllHosts();
30 EXPECT_EQ(0, HostCount());
31 }
32 virtual void TearDown() OVERRIDE { RemoveAllHosts(); }
33
34 int HostCount() { return [[store_ allHosts] count]; }
35
36 void RemoveAllHosts() {
37 while (HostCount() > 0) {
38 [store_ removeHost:[store_ allHosts].firstObject];
39 }
40 [store_ saveChanges];
41 }
42
43 DataStore* store_;
44 };
45
46 TEST(DataStoreTest_Static, IsSingleInstance) {
47 DataStore* firstStore = [DataStore sharedStore];
48
49 ASSERT_NSEQ(firstStore, [DataStore sharedStore]);
50 }
51
52 TEST(DataStoreTest_Static, RemoveAllHost) {
53 // Test this functionality independently before expecting the fixture to do
54 // this correctly during cleanup
55 DataStore* store = [DataStore sharedStore];
56
57 while ([[store allHosts] count]) {
58 [store removeHost:[store allHosts].firstObject];
59 }
60
61 ASSERT_EQ(0, [[store allHosts] count]);
62 store = nil;
63 }
64
65 TEST_F(DataStoreTest, CreateHost) {
66
67 const HostPreferences* host = [store_ createHost:kHostId];
68 ASSERT_STREQ([kHostId UTF8String], [host.hostId UTF8String]);
69 ASSERT_EQ(1, HostCount());
70 }
71
72 TEST_F(DataStoreTest, GetHostForId) {
73 const HostPreferences* host = [store_ getHostForId:kHostId];
74 ASSERT_TRUE(host == nil);
75
76 [store_ createHost:kHostId];
77
78 host = [store_ getHostForId:kHostId];
79
80 ASSERT_TRUE(host != nil);
81 ASSERT_STREQ([kHostId UTF8String], [host.hostId UTF8String]);
82 }
83
84 TEST_F(DataStoreTest, SaveChanges) {
85
86 const HostPreferences* newHost = [store_ createHost:kHostId];
87
88 ASSERT_EQ(1, HostCount());
89
90 // Default values for a new host
91 ASSERT_TRUE([newHost.askForPin boolValue] == NO);
92 ASSERT_TRUE(newHost.hostPin == nil);
93 ASSERT_TRUE(newHost.pairId == nil);
94 ASSERT_TRUE(newHost.pairSecret == nil);
95
96 // Set new values and save
97 newHost.askForPin = [NSNumber numberWithBool:YES];
98 newHost.hostPin = kHostPin;
99 newHost.pairId = kPairId;
100 newHost.pairSecret = kPairSecret;
101
102 [store_ saveChanges];
103
104 // The next time the store is loaded the host will still be present, even
105 // though we are about to release and reinit a new object
106 store_ = nil;
107 store_ = [[DataStore allocWithZone:nil] init];
108 ASSERT_EQ(1, HostCount());
109
110 const HostPreferences* host = [store_ getHostForId:kHostId];
111 ASSERT_TRUE(host != nil);
112 ASSERT_STREQ([kHostId UTF8String], [host.hostId UTF8String]);
113 ASSERT_TRUE([host.askForPin boolValue] == YES);
114 ASSERT_STREQ([kHostPin UTF8String], [host.hostPin UTF8String]);
115 ASSERT_STREQ([kPairId UTF8String], [host.pairId UTF8String]);
116 ASSERT_STREQ([kPairSecret UTF8String], [host.pairSecret UTF8String]);
117 }
118
119 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/ios/data_store.mm ('k') | remoting/ios/host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698