@@ -154,7 +154,7 @@ fn respond_to_get_request_v1(mmds: &Mmds, request: Request) -> Response {
154154 }
155155 }
156156 None => {
157- // TODO: Increment a metric that will be added in an upcoming commit.
157+ METRICS . mmds . rx_no_token . inc ( ) ;
158158 }
159159 }
160160
@@ -169,6 +169,7 @@ fn respond_to_get_request_v2(mmds: &Mmds, request: Request) -> Response {
169169 ) {
170170 Some ( ( _, token) ) => token,
171171 None => {
172+ METRICS . mmds . rx_no_token . inc ( ) ;
172173 let error_msg = VmmMmdsError :: NoTokenProvided . to_string ( ) ;
173174 return build_response (
174175 request. http_version ( ) ,
@@ -554,9 +555,11 @@ mod tests {
554555 MediaType :: ApplicationJson ,
555556 ) ;
556557 let prev_rx_invalid_token = METRICS . mmds . rx_invalid_token . count ( ) ;
558+ let prev_rx_no_token = METRICS . mmds . rx_no_token . count ( ) ;
557559 let actual_response = convert_to_response ( mmds. clone ( ) , request) ;
558560 assert_eq ! ( actual_response, expected_response) ;
559561 assert_eq ! ( prev_rx_invalid_token, METRICS . mmds. rx_invalid_token. count( ) ) ;
562+ assert_eq ! ( prev_rx_no_token + 1 , METRICS . mmds. rx_no_token. count( ) ) ;
560563
561564 // Test valid v2 request.
562565 let request = Request :: try_from (
@@ -581,9 +584,11 @@ mod tests {
581584 MediaType :: ApplicationJson ,
582585 ) ;
583586 let prev_rx_invalid_token = METRICS . mmds . rx_invalid_token . count ( ) ;
587+ let prev_rx_no_token = METRICS . mmds . rx_no_token . count ( ) ;
584588 let actual_response = convert_to_response ( mmds. clone ( ) , request) ;
585589 assert_eq ! ( actual_response, expected_response) ;
586590 assert_eq ! ( prev_rx_invalid_token, METRICS . mmds. rx_invalid_token. count( ) ) ;
591+ assert_eq ! ( prev_rx_no_token, METRICS . mmds. rx_no_token. count( ) ) ;
587592
588593 // Test GET request with invalid token is accepted when v1 is configured.
589594 let ( request, expected_response) = generate_request_and_expected_response (
@@ -593,12 +598,14 @@ mod tests {
593598 MediaType :: ApplicationJson ,
594599 ) ;
595600 let prev_rx_invalid_token = METRICS . mmds . rx_invalid_token . count ( ) ;
601+ let prev_rx_no_token = METRICS . mmds . rx_no_token . count ( ) ;
596602 let actual_response = convert_to_response ( mmds, request) ;
597603 assert_eq ! ( actual_response, expected_response) ;
598604 assert_eq ! (
599605 prev_rx_invalid_token + 1 ,
600606 METRICS . mmds. rx_invalid_token. count( )
601607 ) ;
608+ assert_eq ! ( prev_rx_no_token, METRICS . mmds. rx_no_token. count( ) ) ;
602609 }
603610
604611 #[ test]
@@ -734,9 +741,11 @@ mod tests {
734741 MediaType :: ApplicationJson ,
735742 ) ;
736743 let prev_rx_invalid_token = METRICS . mmds . rx_invalid_token . count ( ) ;
744+ let prev_rx_no_token = METRICS . mmds . rx_no_token . count ( ) ;
737745 let actual_response = convert_to_response ( mmds. clone ( ) , request) ;
738746 assert_eq ! ( actual_response, expected_response) ;
739747 assert_eq ! ( prev_rx_invalid_token, METRICS . mmds. rx_invalid_token. count( ) ) ;
748+ assert_eq ! ( prev_rx_no_token, METRICS . mmds. rx_no_token. count( ) ) ;
740749
741750 // Test invalid customer header value is ignored if not PUT request to /latest/api/token.
742751 #[ rustfmt:: skip]
@@ -796,8 +805,10 @@ mod tests {
796805 let mut expected_response = Response :: new ( Version :: Http10 , StatusCode :: Unauthorized ) ;
797806 expected_response. set_content_type ( MediaType :: PlainText ) ;
798807 expected_response. set_body ( Body :: new ( VmmMmdsError :: NoTokenProvided . to_string ( ) ) ) ;
808+ let prev_rx_no_token = METRICS . mmds . rx_no_token . count ( ) ;
799809 let actual_response = convert_to_response ( mmds. clone ( ) , request) ;
800810 assert_eq ! ( actual_response, expected_response) ;
811+ assert_eq ! ( prev_rx_no_token + 1 , METRICS . mmds. rx_no_token. count( ) ) ;
801812
802813 // Create a new MMDS token that expires in one second.
803814 let request = Request :: try_from (
@@ -830,12 +841,14 @@ mod tests {
830841 expected_response. set_content_type ( MediaType :: PlainText ) ;
831842 expected_response. set_body ( Body :: new ( VmmMmdsError :: InvalidToken . to_string ( ) ) ) ;
832843 let prev_rx_invalid_token = METRICS . mmds . rx_invalid_token . count ( ) ;
844+ let prev_rx_no_token = METRICS . mmds . rx_no_token . count ( ) ;
833845 let actual_response = convert_to_response ( mmds. clone ( ) , request) ;
834846 assert_eq ! ( actual_response, expected_response) ;
835847 assert_eq ! (
836848 prev_rx_invalid_token + 1 ,
837849 METRICS . mmds. rx_invalid_token. count( )
838850 ) ;
851+ assert_eq ! ( prev_rx_no_token, METRICS . mmds. rx_no_token. count( ) ) ;
839852
840853 // Wait for the second token to expire.
841854 std:: thread:: sleep ( Duration :: from_secs ( 1 ) ) ;
0 commit comments