forked from microsoft/winget-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMsixInfo.cpp
More file actions
66 lines (48 loc) · 1.92 KB
/
Copy pathMsixInfo.cpp
File metadata and controls
66 lines (48 loc) · 1.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
#include "pch.h"
#include "TestCommon.h"
#include <AppInstallerMsixInfo.h>
using namespace std::string_literals;
using namespace std::string_view_literals;
using namespace TestCommon;
using namespace AppInstaller;
constexpr std::string_view s_MsixFile_1 = "index.1.0.0.0.msix";
constexpr std::string_view s_MsixFile_2 = "index.2.0.0.0.msix";
TEST_CASE("MsixInfo_GetPackageFamilyName", "[msixinfo]")
{
TestDataFile index(s_MsixFile_1);
Msix::MsixInfo msix(index.GetPath().u8string());
std::string expectedFullName = "AppInstallerCLITestsFakeIndex_1.0.0.0_neutral__125rzkzqaqjwj";
std::string actualFullName = msix.GetPackageFullName();
REQUIRE(expectedFullName == actualFullName);
}
TEST_CASE("MsixInfo_WriteManifestAndCompareToSelf", "[msixinfo]")
{
TestDataFile index(s_MsixFile_1);
Msix::MsixInfo msix(index.GetPath().u8string());
TempFile manifest{ "msixtest_manifest"s, ".xml"s };
ProgressCallback callback;
msix.WriteManifestToFile(manifest, callback);
REQUIRE(!msix.IsNewerThan(manifest));
}
TEST_CASE("MsixInfo_WriteManifestAndCompareToOlder", "[msixinfo]")
{
TestDataFile index1(s_MsixFile_1);
Msix::MsixInfo msix1(index1.GetPath().u8string());
TempFile manifest{ "msixtest_manifest"s, ".xml"s };
ProgressCallback callback;
msix1.WriteManifestToFile(manifest, callback);
TestDataFile index2(s_MsixFile_2);
Msix::MsixInfo msix2(index2.GetPath().u8string());
REQUIRE(msix2.IsNewerThan(manifest));
}
TEST_CASE("MsixInfo_WriteFile", "[msixinfo]")
{
TestDataFile index(s_MsixFile_1);
Msix::MsixInfo msix(index.GetPath().u8string());
TempFile file{ "msixtest_file"s, ".bin"s };
ProgressCallback callback;
msix.WriteToFile("Public\\index.db", file, callback);
REQUIRE(1 == std::filesystem::file_size(file));
}