Skip to main content

rocketmq_client_rust/common/
admin_tools_result_code_enum.rs

1// Copyright 2023 The RocketMQ Rust Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#[allow(dead_code)]
16#[derive(Debug, Clone, Copy, PartialEq, Eq)]
17pub enum AdminToolsResultCodeEnum {
18    Success = 200,
19    RemotingError = -1001,
20    MQBrokerError = -1002,
21    MQClientError = -1003,
22    InterruptError = -1004,
23    TopicRouteInfoNotExist = -2001,
24    ConsumerNotOnline = -2002,
25    BroadcastConsumption = -2003,
26}
27
28#[allow(dead_code)]
29impl AdminToolsResultCodeEnum {
30    pub fn get_code(&self) -> i32 {
31        *self as i32
32    }
33}
34
35#[cfg(test)]
36mod tests {
37    use super::*;
38
39    #[test]
40    fn get_code_returns_correct_value_for_success() {
41        let code = AdminToolsResultCodeEnum::Success;
42        assert_eq!(code.get_code(), 200);
43    }
44
45    #[test]
46    fn get_code_returns_correct_value_for_remoting_error() {
47        let code = AdminToolsResultCodeEnum::RemotingError;
48        assert_eq!(code.get_code(), -1001);
49    }
50
51    #[test]
52    fn get_code_returns_correct_value_for_mq_broker_error() {
53        let code = AdminToolsResultCodeEnum::MQBrokerError;
54        assert_eq!(code.get_code(), -1002);
55    }
56
57    #[test]
58    fn get_code_returns_correct_value_for_mq_client_error() {
59        let code = AdminToolsResultCodeEnum::MQClientError;
60        assert_eq!(code.get_code(), -1003);
61    }
62
63    #[test]
64    fn get_code_returns_correct_value_for_interrupt_error() {
65        let code = AdminToolsResultCodeEnum::InterruptError;
66        assert_eq!(code.get_code(), -1004);
67    }
68
69    #[test]
70    fn get_code_returns_correct_value_for_topic_route_info_not_exist() {
71        let code = AdminToolsResultCodeEnum::TopicRouteInfoNotExist;
72        assert_eq!(code.get_code(), -2001);
73    }
74
75    #[test]
76    fn get_code_returns_correct_value_for_consumer_not_online() {
77        let code = AdminToolsResultCodeEnum::ConsumerNotOnline;
78        assert_eq!(code.get_code(), -2002);
79    }
80
81    #[test]
82    fn get_code_returns_correct_value_for_broadcast_consumption() {
83        let code = AdminToolsResultCodeEnum::BroadcastConsumption;
84        assert_eq!(code.get_code(), -2003);
85    }
86}