fn test_check_agent_image_version_nested()

in edgelet/iotedge/src/check/checks/check_agent_image.rs [141:243]


    fn test_check_agent_image_version_nested() {
        let test_cases = &[
            (
                "mcr.microsoft.com/azureiotedge-agent:1.0.9.5-linux-amd64",
                false,
            ),
            (
                "$upstream:4443/azureiotedge-agent:1.0.9.5-linux-arm32v7",
                false,
            ),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.0.9.5-linux-arm64v8",
                false,
            ),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.0.9.5-windows-amd64",
                false,
            ),
            ("mcr.microsoft.com/azureiotedge-agent:1.1", false),
            ("mcr.microsoft.com/azureiotedge-agent:1.1.0", false),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.1.0-linux-amd64",
                false,
            ),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.1.0-linux-arm32v7",
                false,
            ),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.1.0-linux-arm64v8",
                false,
            ),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.1.0-windows-amd64",
                false,
            ),
            ("mcr.microsoft.com/azureiotedge-agent:1.2.0-rc1", true),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.2.0-rc1-linux-amd64",
                true,
            ),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.2.0-rc1-linux-arm32v7",
                true,
            ),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.2.0-rc1-linux-arm64v8",
                true,
            ),
            ("mcr.microsoft.com/azureiotedge-agent:1.2.0-rc2", true),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.2.0-rc2-linux-amd64",
                true,
            ),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.2.0-rc2-linux-arm32v7",
                true,
            ),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.2.0-rc2-linux-arm64v8",
                true,
            ),
            ("mcr.microsoft.com/azureiotedge-agent:1.2.0-rc3", true),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.2.0-rc3-linux-amd64",
                true,
            ),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.2.0-rc3-linux-arm32v7",
                true,
            ),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.2.0-rc3-linux-arm64v8",
                true,
            ),
            ("mcr.microsoft.com/azureiotedge-agent:1.2.0-rc4", true),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.2.0-rc4-linux-amd64",
                true,
            ),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.2.0-rc4-linux-arm32v7",
                true,
            ),
            (
                "mcr.microsoft.com/azureiotedge-agent:1.2.0-rc4-linux-arm64v8",
                true,
            ),
            (
                "$upstream:4443/azureiotedge-agent:3.0.9.5-linux-arm32v7",
                true,
            ),
            ("randomImage/randomImage:1.0", true),
        ];

        for (agent_image, expected_is_valid) in test_cases {
            let actual_is_valid = matches!(
                check_agent_image_version_nested(agent_image),
                CheckResult::Ok
            );
            assert_eq!(*expected_is_valid, actual_is_valid);
        }
    }