| 91 | namespace call { |
| 92 | |
| 93 | Option<Error> validate( |
| 94 | const mesos::agent::Call& call, |
| 95 | const Option<string>& principal) |
| 96 | { |
| 97 | if (!call.IsInitialized()) { |
| 98 | return Error("Not initialized: " + call.InitializationErrorString()); |
| 99 | } |
| 100 | |
| 101 | if (!call.has_type()) { |
| 102 | return Error("Expecting 'type' to be present"); |
| 103 | } |
| 104 | |
| 105 | switch (call.type()) { |
| 106 | case mesos::agent::Call::UNKNOWN: |
| 107 | return None(); |
| 108 | |
| 109 | case mesos::agent::Call::GET_HEALTH: |
| 110 | return None(); |
| 111 | |
| 112 | case mesos::agent::Call::GET_FLAGS: |
| 113 | return None(); |
| 114 | |
| 115 | case mesos::agent::Call::GET_VERSION: |
| 116 | return None(); |
| 117 | |
| 118 | case mesos::agent::Call::GET_METRICS: |
| 119 | if (!call.has_get_metrics()) { |
| 120 | return Error("Expecting 'get_metrics' to be present"); |
| 121 | } |
| 122 | return None(); |
| 123 | |
| 124 | case mesos::agent::Call::GET_LOGGING_LEVEL: |
| 125 | return None(); |
| 126 | |
| 127 | case mesos::agent::Call::SET_LOGGING_LEVEL: |
| 128 | if (!call.has_set_logging_level()) { |
| 129 | return Error("Expecting 'set_logging_level' to be present"); |
| 130 | } |
| 131 | return None(); |
| 132 | |
| 133 | case mesos::agent::Call::LIST_FILES: |
| 134 | if (!call.has_list_files()) { |
| 135 | return Error("Expecting 'list_files' to be present"); |
| 136 | } |
| 137 | return None(); |
| 138 | |
| 139 | case mesos::agent::Call::READ_FILE: |
| 140 | if (!call.has_read_file()) { |
| 141 | return Error("Expecting 'read_file' to be present"); |
| 142 | } |
| 143 | return None(); |
| 144 | |
| 145 | case mesos::agent::Call::GET_STATE: |
| 146 | return None(); |
| 147 | |
| 148 | case mesos::agent::Call::GET_CONTAINERS: |
| 149 | return None(); |
| 150 |
no test coverage detected