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

Side by Side Diff: remoting/ios/host_refresh_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/host_refresh_test_helper.h ('k') | remoting/ios/key_input.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/host_refresh.h"
10
11 #import "base/compiler_specific.h"
12 #import "testing/gtest_mac.h"
13
14 #import "remoting/ios/host.h"
15 #import "remoting/ios/host_refresh_test_helper.h"
16
17 @interface HostRefreshDelegateTester : NSObject<HostRefreshDelegate>
18
19 @property(nonatomic) NSArray* hostList;
20 @property(nonatomic) NSString* errorMessage;
21
22 @end
23
24 @implementation HostRefreshDelegateTester
25
26 @synthesize hostList = _hostList;
27 @synthesize errorMessage = _errorMessage;
28
29 - (void)hostListRefresh:(NSArray*)hostList
30 errorMessage:(NSString*)errorMessage {
31 _hostList = hostList;
32 _errorMessage = errorMessage;
33 }
34
35 - (bool)receivedHosts {
36 return (_hostList.count > 0);
37 }
38
39 - (bool)receivedErrorMessage {
40 return (_errorMessage != nil);
41 }
42
43 @end
44
45 namespace remoting {
46
47 namespace {
48
49 NSString* kErrorMessageTest = @"TestErrorMessage";
50
51 } // namespace
52
53 class HostRefreshTest : public ::testing::Test {
54 protected:
55 virtual void SetUp() OVERRIDE {
56 hostRefreshProcessor_ = [[HostRefresh allocWithZone:nil] init];
57 delegateTester_ = [[HostRefreshDelegateTester alloc] init];
58 [hostRefreshProcessor_ setDelegate:delegateTester_];
59 }
60
61 void CreateHostList(int numHosts) {
62 [hostRefreshProcessor_
63 setJsonData:HostRefreshTestHelper::GetHostList(numHosts)];
64 }
65
66 NSError* CreateErrorFromString(NSString* message) {
67 NSDictionary* errorDictionary = nil;
68
69 if (message != nil) {
70 errorDictionary = @{NSLocalizedDescriptionKey : message};
71 }
72
73 return [[NSError alloc] initWithDomain:@"HostRefreshTest"
74 code:EPERM
75 userInfo:errorDictionary];
76 }
77
78 HostRefresh* hostRefreshProcessor_;
79 HostRefreshDelegateTester* delegateTester_;
80 };
81
82 TEST_F(HostRefreshTest, ErrorFormatter) {
83 [hostRefreshProcessor_ connection:nil
84 didFailWithError:CreateErrorFromString(nil)];
85 ASSERT_FALSE(hostRefreshProcessor_.errorMessage == nil);
86
87 [hostRefreshProcessor_ connection:nil
88 didFailWithError:CreateErrorFromString(@"")];
89 ASSERT_FALSE(hostRefreshProcessor_.errorMessage == nil);
90
91 [hostRefreshProcessor_ connection:nil
92 didFailWithError:CreateErrorFromString(kErrorMessageTest)];
93 ASSERT_TRUE([hostRefreshProcessor_.errorMessage
94 rangeOfString:kErrorMessageTest].location != NSNotFound);
95 }
96
97 TEST_F(HostRefreshTest, JSONParsing) {
98 // There were no hosts returned
99 CreateHostList(0);
100 [hostRefreshProcessor_ connectionDidFinishLoading:nil];
101 ASSERT_TRUE(delegateTester_.hostList.count == 0);
102
103 CreateHostList(1);
104 [hostRefreshProcessor_ connectionDidFinishLoading:nil];
105 ASSERT_TRUE(delegateTester_.hostList.count == 1);
106
107 Host* host = static_cast<Host*>([delegateTester_.hostList objectAtIndex:0]);
108 ASSERT_NSEQ(HostRefreshTestHelper::CreatedTimeTest, host.createdTime);
109 ASSERT_NSEQ(HostRefreshTestHelper::HostIdTest, host.hostId);
110 ASSERT_NSEQ(HostRefreshTestHelper::HostNameTest, host.hostName);
111 ASSERT_NSEQ(HostRefreshTestHelper::HostVersionTest, host.hostVersion);
112 ASSERT_NSEQ(HostRefreshTestHelper::KindTest, host.kind);
113 ASSERT_NSEQ(HostRefreshTestHelper::JabberIdTest, host.jabberId);
114 ASSERT_NSEQ(HostRefreshTestHelper::PublicKeyTest, host.publicKey);
115 ASSERT_NSEQ(HostRefreshTestHelper::StatusTest, host.status);
116 ASSERT_NSEQ(HostRefreshTestHelper::UpdatedTimeTest, host.updatedTime);
117
118 CreateHostList(11);
119 [hostRefreshProcessor_ connectionDidFinishLoading:nil];
120 ASSERT_TRUE(delegateTester_.hostList.count == 11);
121
122 // An error in parsing returns no hosts
123 [hostRefreshProcessor_
124 setJsonData:
125 [NSMutableData
126 dataWithData:
127 [@"{\"dataaaaaafa\":{\"kiffffnd\":\"chromoting#hostList\"}}"
128 dataUsingEncoding:NSUTF8StringEncoding]]];
129 [hostRefreshProcessor_ connectionDidFinishLoading:nil];
130 ASSERT_TRUE(delegateTester_.hostList.count == 0);
131 }
132
133 TEST_F(HostRefreshTest, HostListDelegateNoList) {
134 // Hosts were not processed at all
135 [hostRefreshProcessor_ connectionDidFinishLoading:nil];
136 ASSERT_FALSE([delegateTester_ receivedHosts]);
137 ASSERT_TRUE([delegateTester_ receivedErrorMessage]);
138
139 // There were no hosts returned
140 CreateHostList(0);
141 [hostRefreshProcessor_ connectionDidFinishLoading:nil];
142 ASSERT_FALSE([delegateTester_ receivedHosts]);
143 ASSERT_TRUE([delegateTester_ receivedErrorMessage]);
144 }
145
146 TEST_F(HostRefreshTest, HostListDelegateHasList) {
147 CreateHostList(1);
148 [hostRefreshProcessor_ connectionDidFinishLoading:nil];
149 ASSERT_TRUE([delegateTester_ receivedHosts]);
150 ASSERT_FALSE([delegateTester_ receivedErrorMessage]);
151 }
152
153 TEST_F(HostRefreshTest, HostListDelegateHasListWithError) {
154 CreateHostList(1);
155
156 [hostRefreshProcessor_ connection:nil
157 didFailWithError:CreateErrorFromString(kErrorMessageTest)];
158
159 [hostRefreshProcessor_ connectionDidFinishLoading:nil];
160 ASSERT_TRUE([delegateTester_ receivedHosts]);
161 ASSERT_TRUE([delegateTester_ receivedErrorMessage]);
162 }
163
164 TEST_F(HostRefreshTest, ConnectionFailed) {
165 [hostRefreshProcessor_ connection:nil didFailWithError:nil];
166 ASSERT_FALSE([delegateTester_ receivedHosts]);
167 ASSERT_TRUE([delegateTester_ receivedErrorMessage]);
168 }
169
170 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/ios/host_refresh_test_helper.h ('k') | remoting/ios/key_input.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698