| 36 | |
| 37 | |
| 38 | TEST_F(AppcSpecTest, ValidateImageManifest) |
| 39 | { |
| 40 | Try<JSON::Object> json = JSON::parse<JSON::Object>( |
| 41 | R"~( |
| 42 | { |
| 43 | "acKind": "ImageManifest", |
| 44 | "acVersion": "0.6.1", |
| 45 | "name": "foo.com/bar", |
| 46 | "labels": [ |
| 47 | { |
| 48 | "name": "version", |
| 49 | "value": "1.0.0" |
| 50 | }, |
| 51 | { |
| 52 | "name": "arch", |
| 53 | "value": "amd64" |
| 54 | }, |
| 55 | { |
| 56 | "name": "os", |
| 57 | "value": "linux" |
| 58 | } |
| 59 | ], |
| 60 | "app" : { |
| 61 | "workingDirectory": "/opt/work", |
| 62 | "environment": [ |
| 63 | { |
| 64 | "name": "REDUCE_WORKER_DEBUG", |
| 65 | "value": "true" |
| 66 | } |
| 67 | ], |
| 68 | "exec": [ |
| 69 | "/usr/bin/sh", |
| 70 | "--quiet" |
| 71 | ] |
| 72 | }, |
| 73 | "annotations": [ |
| 74 | { |
| 75 | "name": "created", |
| 76 | "value": "1438983392" |
| 77 | } |
| 78 | ] |
| 79 | })~"); |
| 80 | |
| 81 | ASSERT_SOME(json); |
| 82 | |
| 83 | Try<spec::ImageManifest> imageManifest = spec::parse(stringify(json.get())); |
| 84 | ASSERT_SOME(imageManifest); |
| 85 | |
| 86 | // Check app object. |
| 87 | ASSERT_TRUE(imageManifest->has_app()); |
| 88 | ASSERT_TRUE(imageManifest->app().has_workingdirectory()); |
| 89 | EXPECT_EQ(imageManifest->app().workingdirectory(), "/opt/work"); |
| 90 | ASSERT_EQ(1, imageManifest->app().environment_size()); |
| 91 | EXPECT_EQ(imageManifest->app().environment(0).name(), "REDUCE_WORKER_DEBUG"); |
| 92 | EXPECT_EQ(imageManifest->app().environment(0).value(), "true"); |
| 93 | ASSERT_EQ(2, imageManifest->app().exec_size()); |
| 94 | EXPECT_EQ(imageManifest->app().exec(0), "/usr/bin/sh"); |
| 95 | EXPECT_EQ(imageManifest->app().exec(1), "--quiet"); |
nothing calls this directly
no test coverage detected