summaryrefslogtreecommitdiffstats
path: root/remoting/ios/host_refresh_test_helper.h
blob: aac365b31a2f13c3fb69928c5c8bf1fa33b1bb2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef REMOTING_IOS_HOST_REFRESH_TEST_HELPER_H_
#define REMOTING_IOS_HOST_REFRESH_TEST_HELPER_H_

#import <Foundation/Foundation.h>

namespace remoting {

class HostRefreshTestHelper {
 public:
  constexpr static NSString* CloseTag = @"\",";

  constexpr static NSString* CreatedTimeTag = @"\"createdTime\":\"";
  constexpr static NSString* HostIdTag = @"\"hostId\":\"";
  constexpr static NSString* HostNameTag = @"\"hostName\":\"";
  constexpr static NSString* HostVersionTag = @"\"hostVersion\":\"";
  constexpr static NSString* KindTag = @"\"kind\":\"";
  constexpr static NSString* JabberIdTag = @"\"jabberId\":\"";
  constexpr static NSString* PublicKeyTag = @"\"publicKey\":\"";
  constexpr static NSString* StatusTag = @"\"status\":\"";
  constexpr static NSString* UpdatedTimeTag = @"\"updatedTime\":\"";

  constexpr static NSString* CreatedTimeTest = @"2000-01-01T00:00:01.000Z";
  constexpr static NSString* HostIdTest = @"Host1";
  constexpr static NSString* HostNameTest = @"HostName1";
  constexpr static NSString* HostVersionTest = @"2.22.5.4";
  constexpr static NSString* KindTest = @"chromoting#host";
  constexpr static NSString* JabberIdTest = @"JabberingOn";
  constexpr static NSString* PublicKeyTest = @"AAAAABBBBBZZZZZ";
  constexpr static NSString* StatusTest = @"TESTING";
  constexpr static NSString* UpdatedTimeTest = @"2004-01-01T00:00:01.000Z";

  static NSMutableData* GetHostList(int numHosts) {
    return [NSMutableData
        dataWithData:[GetMultipleHosts(numHosts)
                         dataUsingEncoding:NSUTF8StringEncoding]];
  }

  static NSMutableData* GetHostList(NSString* hostList) {
    return [NSMutableData
        dataWithData:[hostList dataUsingEncoding:NSUTF8StringEncoding]];
  }

  static NSString* GetMultipleHosts(int numHosts) {
    NSString* client = [NSString
        stringWithFormat:
            @"%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@",
            @"{",
            CreatedTimeTag,
            CreatedTimeTest,
            CloseTag,
            HostIdTag,
            HostIdTest,
            CloseTag,
            HostNameTag,
            HostNameTest,
            CloseTag,
            HostNameTag,
            HostNameTest,
            CloseTag,
            HostVersionTag,
            HostVersionTest,
            CloseTag,
            KindTag,
            KindTest,
            CloseTag,
            JabberIdTag,
            JabberIdTest,
            CloseTag,
            PublicKeyTag,
            PublicKeyTest,
            CloseTag,
            StatusTag,
            StatusTest,
            CloseTag,
            UpdatedTimeTag,
            UpdatedTimeTest,
            @"\"}"];

    NSMutableString* hostList = [NSMutableString
        stringWithString:
            @"{\"data\":{\"kind\":\"chromoting#hostList\",\"items\":["];

    for (int i = 0; i < numHosts; i++) {
      [hostList appendString:client];
      if (i < numHosts - 1) {
        [hostList appendString:@","];  // common separated
      }
    }

    [hostList appendString:@"]}}"];

    return [hostList copy];
  }
};

}  // namespace remoting

#endif  // REMOTING_IOS_HOST_REFRESH_TEST_HELPER_H_