GUACAMOLE-221: Implement CUnit tests for protocol version comparison and conversion.
This commit is contained in:
parent
0db61198e9
commit
e8feeabfef
@ -40,6 +40,7 @@ test_libguac_SOURCES = \
|
|||||||
parser/read.c \
|
parser/read.c \
|
||||||
pool/next_free.c \
|
pool/next_free.c \
|
||||||
protocol/base64_decode.c \
|
protocol/base64_decode.c \
|
||||||
|
protocol/guac_protocol_version.c \
|
||||||
socket/fd_send_instruction.c \
|
socket/fd_send_instruction.c \
|
||||||
socket/nested_send_instruction.c \
|
socket/nested_send_instruction.c \
|
||||||
string/strlcat.c \
|
string/strlcat.c \
|
||||||
|
69
src/libguac/tests/protocol/guac_protocol_version.c
Normal file
69
src/libguac/tests/protocol/guac_protocol_version.c
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <CUnit/CUnit.h>
|
||||||
|
#include <guacamole/protocol.h>
|
||||||
|
#include <guacamole/protocol-types.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test which verifies that conversion of the guac_protocol_version enum to
|
||||||
|
* string values succeeds and produces the expected results.
|
||||||
|
*/
|
||||||
|
void test_guac_protocol__version_to_string() {
|
||||||
|
|
||||||
|
guac_protocol_version version_a = GUAC_PROTOCOL_VERSION_1_3_0;
|
||||||
|
guac_protocol_version version_b = GUAC_PROTOCOL_VERSION_1_0_0;
|
||||||
|
guac_protocol_version version_c = GUAC_PROTOCOL_VERSION_UNKNOWN;
|
||||||
|
|
||||||
|
CU_ASSERT_STRING_EQUAL_FATAL(guac_protocol_version_to_string(version_a), "VERSION_1_3_0");
|
||||||
|
CU_ASSERT_STRING_EQUAL_FATAL(guac_protocol_version_to_string(version_b), "VERSION_1_0_0");
|
||||||
|
CU_ASSERT_PTR_NULL_FATAL(guac_protocol_version_to_string(version_c));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test which verifies that the version of String representations of Guacamole
|
||||||
|
* protocol versions are successfully converted into their matching
|
||||||
|
* guac_protocol_version enum values, and that versions that do not match
|
||||||
|
* any version get the correct unknown value.
|
||||||
|
*/
|
||||||
|
void test_guac_protocol__string_to_version() {
|
||||||
|
|
||||||
|
char* str_version_a = "VERSION_1_3_0";
|
||||||
|
char* str_version_b = "VERSION_1_1_0";
|
||||||
|
char* str_version_c = "AVACADO";
|
||||||
|
char* str_version_d = "VERSION_31_4_1";
|
||||||
|
|
||||||
|
CU_ASSERT_EQUAL_FATAL(guac_protocol_string_to_version(str_version_a), GUAC_PROTOCOL_VERSION_1_3_0);
|
||||||
|
CU_ASSERT_EQUAL_FATAL(guac_protocol_string_to_version(str_version_b), GUAC_PROTOCOL_VERSION_1_1_0);
|
||||||
|
CU_ASSERT_EQUAL_FATAL(guac_protocol_string_to_version(str_version_c), GUAC_PROTOCOL_VERSION_UNKNOWN);
|
||||||
|
CU_ASSERT_EQUAL_FATAL(guac_protocol_string_to_version(str_version_d), GUAC_PROTOCOL_VERSION_UNKNOWN);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test which verifies that the comparisons between guac_protocol_version enum
|
||||||
|
* values produces the expected results.
|
||||||
|
*/
|
||||||
|
void test_gauc_protocol__version_comparison() {
|
||||||
|
|
||||||
|
CU_ASSERT_TRUE_FATAL(GUAC_PROTOCOL_VERSION_1_3_0 > GUAC_PROTOCOL_VERSION_1_0_0);
|
||||||
|
CU_ASSERT_TRUE_FATAL(GUAC_PROTOCOL_VERSION_UNKNOWN < GUAC_PROTOCOL_VERSION_1_1_0);
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user