Asterisk - The Open Source Telephony Project GIT-master-b023714
Loading...
Searching...
No Matches
Functions | Variables
test_endpoints.c File Reference

Test endpoints. More...

#include "asterisk.h"
#include "asterisk/astobj2.h"
#include "asterisk/endpoints.h"
#include "asterisk/module.h"
#include "asterisk/stasis_endpoints.h"
#include "asterisk/test.h"
Include dependency graph for test_endpoints.c:

Go to the source code of this file.

Functions

static void __reg_module (void)
 
static void __unreg_module (void)
 
struct ast_moduleAST_MODULE_SELF_SYM (void)
 
 AST_TEST_DEFINE (create)
 
 AST_TEST_DEFINE (defaults)
 
 AST_TEST_DEFINE (setters)
 
static int load_module (void)
 
static int unload_module (void)
 

Variables

static struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "Endpoint testing" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, }
 
static const struct ast_module_infoast_module_info = &__mod_info
 
static const char * test_category = "/core/endpoints/"
 

Detailed Description

Test endpoints.

Author
David M. Lee, II <dlee@digium.com> 

Definition in file test_endpoints.c.

Function Documentation

◆ __reg_module()

static void __reg_module ( void  )
static

Definition at line 157 of file test_endpoints.c.

◆ __unreg_module()

static void __unreg_module ( void  )
static

Definition at line 157 of file test_endpoints.c.

◆ AST_MODULE_SELF_SYM()

struct ast_module * AST_MODULE_SELF_SYM ( void  )

Definition at line 157 of file test_endpoints.c.

◆ AST_TEST_DEFINE() [1/3]

AST_TEST_DEFINE ( create  )

Definition at line 43 of file test_endpoints.c.

44{
46
47 switch (cmd) {
48 case TEST_INIT:
49 info->name = __func__;
50 info->category = test_category;
51 info->summary = "Test endpoint creation";
52 info->description = "Test endpoint creation";
53 return AST_TEST_NOT_RUN;
54 case TEST_EXECUTE:
55 break;
56 }
57
58 ast_test_validate(test, NULL == ast_endpoint_create(NULL, NULL));
59 ast_test_validate(test, NULL == ast_endpoint_create("", ""));
60 ast_test_validate(test, NULL == ast_endpoint_create("TEST", ""));
61 ast_test_validate(test, NULL == ast_endpoint_create("", "test_res"));
62
63 uut = ast_endpoint_create("TEST", "test_res");
64 ast_test_validate(test, NULL != uut);
65
66 ast_test_validate(test,
67 0 == strcmp("TEST", ast_endpoint_get_tech(uut)));
68 ast_test_validate(test,
69 0 == strcmp("test_res", ast_endpoint_get_resource(uut)));
70
71 return AST_TEST_PASS;
72}
const char * ast_endpoint_get_tech(const struct ast_endpoint *endpoint)
Gets the technology of the given endpoint.
void ast_endpoint_shutdown(struct ast_endpoint *endpoint)
Shutsdown an ast_endpoint.
const char * ast_endpoint_get_resource(const struct ast_endpoint *endpoint)
Gets the resource name of the given endpoint.
struct ast_endpoint * ast_endpoint_create(const char *tech, const char *resource)
Create an endpoint struct.
#define NULL
Definition resample.c:96
@ TEST_INIT
Definition test.h:200
@ TEST_EXECUTE
Definition test.h:201
@ AST_TEST_PASS
Definition test.h:195
@ AST_TEST_NOT_RUN
Definition test.h:194
static const char * test_category
#define RAII_VAR(vartype, varname, initval, dtor)
Declare a variable that will call a destructor function when it goes out of scope.
Definition utils.h:978

References ast_endpoint_create(), ast_endpoint_get_resource(), ast_endpoint_get_tech(), ast_endpoint_shutdown(), AST_TEST_NOT_RUN, AST_TEST_PASS, NULL, RAII_VAR, test_category, TEST_EXECUTE, and TEST_INIT.

◆ AST_TEST_DEFINE() [2/3]

AST_TEST_DEFINE ( defaults  )

Definition at line 75 of file test_endpoints.c.

76{
78 RAII_VAR(struct ast_endpoint_snapshot *, snapshot, NULL, ao2_cleanup);
79
80 switch (cmd) {
81 case TEST_INIT:
82 info->name = __func__;
83 info->category = test_category;
84 info->summary = "Test defaults for new endpoints";
85 info->description = "Test defaults for new endpoints";
86 return AST_TEST_NOT_RUN;
87 case TEST_EXECUTE:
88 break;
89 }
90
91 uut = ast_endpoint_create("TEST", "test_res");
92 ast_test_validate(test, NULL != uut);
93 snapshot = ast_endpoint_snapshot_create(uut);
94 ast_test_validate(test, NULL != snapshot);
95
96 ast_test_validate(test, 0 == strcmp("TEST/test_res", snapshot->id));
97 ast_test_validate(test, 0 == strcmp("TEST", snapshot->tech));
98 ast_test_validate(test, 0 == strcmp("test_res", snapshot->resource));
99 ast_test_validate(test, AST_ENDPOINT_UNKNOWN == snapshot->state);
100 ast_test_validate(test, -1 == snapshot->max_channels);
101 ast_test_validate(test, 0 == snapshot->num_channels);
102
103 return AST_TEST_PASS;
104}
#define ao2_cleanup(obj)
Definition astobj2.h:1934
@ AST_ENDPOINT_UNKNOWN
Definition endpoints.h:53
struct ast_endpoint_snapshot * ast_endpoint_snapshot_create(struct ast_endpoint *endpoint)
Create a snapshot of an endpoint.
A snapshot of an endpoint's state.

References ao2_cleanup, ast_endpoint_create(), ast_endpoint_shutdown(), ast_endpoint_snapshot_create(), AST_ENDPOINT_UNKNOWN, AST_TEST_NOT_RUN, AST_TEST_PASS, NULL, RAII_VAR, test_category, TEST_EXECUTE, and TEST_INIT.

◆ AST_TEST_DEFINE() [3/3]

AST_TEST_DEFINE ( setters  )

Definition at line 106 of file test_endpoints.c.

107{
109 RAII_VAR(struct ast_endpoint_snapshot *, snapshot, NULL, ao2_cleanup);
110
111 switch (cmd) {
112 case TEST_INIT:
113 info->name = __func__;
114 info->category = test_category;
115 info->summary = "Test endpoint setters";
116 info->description = "Test endpoint setters";
117 return AST_TEST_NOT_RUN;
118 case TEST_EXECUTE:
119 break;
120 }
121
122 uut = ast_endpoint_create("TEST", "test_res");
123 ast_test_validate(test, NULL != uut);
124
127
128 snapshot = ast_endpoint_snapshot_create(uut);
129 ast_test_validate(test, NULL != snapshot);
130
131 ast_test_validate(test, AST_ENDPOINT_ONLINE == snapshot->state);
132 ast_test_validate(test, 314159 == snapshot->max_channels);
133
134 return AST_TEST_PASS;
135}
@ AST_ENDPOINT_ONLINE
Definition endpoints.h:57
void ast_endpoint_set_state(struct ast_endpoint *endpoint, enum ast_endpoint_state state)
Updates the state of the given endpoint.
void ast_endpoint_set_max_channels(struct ast_endpoint *endpoint, int max_channels)
Updates the maximum number of channels an endpoint supports.

References ao2_cleanup, ast_endpoint_create(), AST_ENDPOINT_ONLINE, ast_endpoint_set_max_channels(), ast_endpoint_set_state(), ast_endpoint_shutdown(), ast_endpoint_snapshot_create(), AST_TEST_NOT_RUN, AST_TEST_PASS, NULL, RAII_VAR, test_category, TEST_EXECUTE, and TEST_INIT.

◆ load_module()

static int load_module ( void  )
static

Definition at line 145 of file test_endpoints.c.

146{
147 AST_TEST_REGISTER(create);
148 AST_TEST_REGISTER(defaults);
149 AST_TEST_REGISTER(setters);
151}
@ AST_MODULE_LOAD_SUCCESS
Definition module.h:70
#define AST_TEST_REGISTER(cb)
Definition test.h:127

References AST_MODULE_LOAD_SUCCESS, and AST_TEST_REGISTER.

◆ unload_module()

static int unload_module ( void  )
static

Definition at line 137 of file test_endpoints.c.

138{
139 AST_TEST_UNREGISTER(create);
140 AST_TEST_UNREGISTER(defaults);
141 AST_TEST_UNREGISTER(setters);
142 return 0;
143}
#define AST_TEST_UNREGISTER(cb)
Definition test.h:128

References AST_TEST_UNREGISTER.

Variable Documentation

◆ __mod_info

struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_DEFAULT , .description = "Endpoint testing" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .support_level = AST_MODULE_SUPPORT_CORE, .load = load_module, .unload = unload_module, }
static

Definition at line 157 of file test_endpoints.c.

◆ ast_module_info

const struct ast_module_info* ast_module_info = &__mod_info
static

Definition at line 157 of file test_endpoints.c.

◆ test_category

const char* test_category = "/core/endpoints/"
static

Definition at line 41 of file test_endpoints.c.

Referenced by AST_TEST_DEFINE(), AST_TEST_DEFINE(), and AST_TEST_DEFINE().