Skip to content

Commit cb3cd3e

Browse files
authored
Merge pull request #4 from shugaoye/main
Release 2.1.1
2 parents 577c650 + 67c9ac6 commit cb3cd3e

File tree

10 files changed

+289
-97
lines changed

10 files changed

+289
-97
lines changed

PassXYZLib.nuspec

Lines changed: 34 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,63 +2,64 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
33
<metadata>
44
<id>PassXYZLib</id>
5-
<version>2.0.2</version>
5+
<version>2.1.1</version>
66
<authors>Roger Ye</authors>
77
<owners>Roger Ye</owners>
88
<requireLicenseAcceptance>false</requireLicenseAcceptance>
99
<license type="expression">LGPL-3.0-or-later</license>
1010
<projectUrl>https://passxyz.github.io/KPCLib/</projectUrl>
1111
<description>This is an extension of KPCLib.</description>
1212
<releaseNotes>
13-
- Fixed dependency issue
13+
- Updated to version 2.1.1
1414
</releaseNotes>
1515
<copyright>Roger Ye</copyright>
1616
<repository url="https://github.com/passxyz/Lib" />
1717
<dependencies>
18-
<group targetFramework="net6.0">
19-
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
18+
<group targetFramework="net7.0">
19+
<dependency id="HtmlAgilityPack" version="1.11.46" exclude="Build,Analyzers" />
2020
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
21-
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
22-
<dependency id="PassXYZ" version="2.1.5.28" exclude="Build,Analyzers" />
21+
<dependency id="Newtonsoft.Json" version="13.0.3" exclude="Build,Analyzers" />
22+
<dependency id="PassXYZ" version="3.1.0" exclude="Build,Analyzers" />
2323
</group>
24-
<group targetFramework="net6.0-android31.0">
25-
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
24+
<group targetFramework="net7.0-android33.0">
25+
<dependency id="HtmlAgilityPack" version="1.11.46" exclude="Build,Analyzers" />
2626
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
27-
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
28-
<dependency id="PassXYZ" version="2.1.5.28" exclude="Build,Analyzers" />
27+
<dependency id="Newtonsoft.Json" version="13.0.3" exclude="Build,Analyzers" />
28+
<dependency id="PassXYZ" version="3.1.0" exclude="Build,Analyzers" />
2929
</group>
30-
<group targetFramework="net6.0-ios15.4">
31-
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
30+
<group targetFramework="net7.0-ios16.1">
31+
<dependency id="HtmlAgilityPack" version="1.11.46" exclude="Build,Analyzers" />
3232
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
33-
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
34-
<dependency id="PassXYZ" version="2.1.5.28" exclude="Build,Analyzers" />
33+
<dependency id="Newtonsoft.Json" version="13.0.3" exclude="Build,Analyzers" />
34+
<dependency id="PassXYZ" version="3.1.0" exclude="Build,Analyzers" />
3535
</group>
36-
<group targetFramework="net6.0-maccatalyst15.4">
37-
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
36+
<group targetFramework="net7.0-maccatalyst16.1">
37+
<dependency id="HtmlAgilityPack" version="1.11.46" exclude="Build,Analyzers" />
3838
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
39-
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
40-
<dependency id="PassXYZ" version="2.1.5.28" exclude="Build,Analyzers" />
39+
<dependency id="Newtonsoft.Json" version="13.0.3" exclude="Build,Analyzers" />
40+
<dependency id="PassXYZ" version="3.1.0" exclude="Build,Analyzers" />
4141
</group>
42-
<group targetFramework="net6.0-windows10.0.19041">
43-
<dependency id="HtmlAgilityPack" version="1.11.42" exclude="Build,Analyzers" />
42+
<group targetFramework="net7.0-windows10.0.19041">
43+
<dependency id="HtmlAgilityPack" version="1.11.46" exclude="Build,Analyzers" />
4444
<dependency id="Markdig" version="0.23.0" exclude="Build,Analyzers" />
45-
<dependency id="Newtonsoft.Json" version="13.0.1" exclude="Build,Analyzers" />
46-
<dependency id="PassXYZ" version="2.1.5.28" exclude="Build,Analyzers" />
45+
<dependency id="Newtonsoft.Json" version="13.0.3" exclude="Build,Analyzers" />
46+
<dependency id="PassXYZ" version="3.1.0" exclude="Build,Analyzers" />
4747
</group>
4848
</dependencies>
4949
<summary>PassXYZLib added additional features for .NET MAUI.</summary>
5050
</metadata>
5151
<files>
52-
<file src="PassXYZLib/bin/Release/net6.0/PassXYZLib.dll" target="lib/net6.0/PassXYZLib.dll" />
53-
<file src="PassXYZLib/bin/Release/net6.0/PureOtp.dll" target="lib/net6.0/PureOtp.dll" />
54-
<file src="PassXYZLib/bin/Release/net6.0-android/PassXYZLib.dll" target="lib/net6.0-android31.0/PassXYZLib.dll" />
55-
<file src="PassXYZLib/bin/Release/net6.0-android/PassXYZLib.xml" target="lib/net6.0-android31.0/PassXYZLib.xml" />
56-
<file src="PassXYZLib/bin/Release/net6.0-android/PureOtp.dll" target="lib/net6.0-android31.0/PureOtp.dll" />
57-
<file src="PassXYZLib/bin/Release/net6.0-ios/PassXYZLib.dll" target="lib/net6.0-ios15.4/PassXYZLib.dll" />
58-
<file src="PassXYZLib/bin/Release/net6.0-ios/PureOtp.dll" target="lib/net6.0-ios15.4/PureOtp.dll" />
59-
<file src="PassXYZLib/bin/Release/net6.0-maccatalyst/PassXYZLib.dll" target="lib/net6.0-maccatalyst15.4/PassXYZLib.dll" />
60-
<file src="PassXYZLib/bin/Release/net6.0-maccatalyst/PureOtp.dll" target="lib/net6.0-maccatalyst15.4/PureOtp.dll" />
61-
<file src="PassXYZLib/bin/Release/net6.0-windows10.0.19041.0/PassXYZLib.dll" target="lib/net6.0-windows10.0.19041/PassXYZLib.dll" />
62-
<file src="PassXYZLib/bin/Release/net6.0-windows10.0.19041.0/PureOtp.dll" target="lib/net6.0-windows10.0.19041/PureOtp.dll" />
52+
<file src="PassXYZLib/bin/Release/net7.0/PassXYZLib.dll" target="lib/net7.0/PassXYZLib.dll" />
53+
<file src="PassXYZLib/bin/Release/net7.0/PureOtp.dll" target="lib/net7.0/PureOtp.dll" />
54+
<file src="PassXYZLib/bin/Release/net7.0-android/PassXYZLib.dll" target="lib/net7.0-android33.0/PassXYZLib.dll" />
55+
<file src="PassXYZLib/bin/Release/net7.0-android/PassXYZLib.aar" target="lib/net7.0-android33.0/PassXYZLib.aar" />
56+
<file src="PassXYZLib/bin/Release/net7.0-android/PassXYZLib.xml" target="lib/net7.0-android33.0/PassXYZLib.xml" />
57+
<file src="PassXYZLib/bin/Release/net7.0-android/PureOtp.dll" target="lib/net7.0-android33.0/PureOtp.dll" />
58+
<file src="PassXYZLib/bin/Release/net7.0-ios/PassXYZLib.dll" target="lib/net7.0-ios16.1/PassXYZLib.dll" />
59+
<file src="PassXYZLib/bin/Release/net7.0-ios/PureOtp.dll" target="lib/net7.0-ios16.1/PureOtp.dll" />
60+
<file src="PassXYZLib/bin/Release/net7.0-maccatalyst/PassXYZLib.dll" target="lib/net7.0-maccatalyst16.1/PassXYZLib.dll" />
61+
<file src="PassXYZLib/bin/Release/net7.0-maccatalyst/PureOtp.dll" target="lib/net7.0-maccatalyst16.1/PureOtp.dll" />
62+
<file src="PassXYZLib/bin/Release/net7.0-windows10.0.19041.0/PassXYZLib.dll" target="lib/net7.0-windows10.0.19041/PassXYZLib.dll" />
63+
<file src="PassXYZLib/bin/Release/net7.0-windows10.0.19041.0/PureOtp.dll" target="lib/net7.0-windows10.0.19041/PureOtp.dll" />
6364
</files>
6465
</package>

PassXYZLib.xunit/PassXYZ/DeviceLockTests.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using KeePassLib.Serialization;
1111
using KeePassLib.Utility;
1212
using PassXYZLib;
13+
using PassXYZ.Services;
1314

1415
namespace xunit.PassXYZ
1516
{
@@ -49,13 +50,21 @@ public class DeviceLockCollection : ICollectionFixture<DeviceLockFixture>
4950
[Collection("DeviceLock collection")]
5051
public class DeviceLockTests
5152
{
53+
const string TEST_DB_KEY_DATA = "AAEAAAD/////AQAAAAAAAAAMAgAAAD5QYXNzWFlaLCBWZXJzaW9uPTIuNC40LjEsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAGlBhc3NYWVouU2VydmljZXMuUHhLZXlEYXRhCAAAAAhVc2VybmFtZQJJZAtEZXZpY2VNb2RlbBJEZXZpY2VNYW51ZmFjdHVyZXIKRGV2aWNlTmFtZQ1EZXZpY2VWZXJzaW9uDkRldmljZVBsYXRmb3JtC0RldmljZUlkaW9tAQEBAQEBAQECAAAABgMAAAAIa3BjbGlicHkGBAAAACAxQUQyNERDRTVBRTJERDRGQTQ2RDA3MjcwRDNCOTYzMgYFAAAADkxhdGl0dWRlIEU3NDQwBgYAAAAJRGVsbCBJbmMuBgcAAAAPREVTS1RPUC0yTUVLOFI3BggAAAAPMTAuMC4xODM2My4xNDQwBgkAAAADVVdQBgoAAAAHRGVza3RvcAs=";
5254
DeviceLockFixture passxyz;
5355

5456
public DeviceLockTests(DeviceLockFixture deviceLockFixture)
5557
{
5658
this.passxyz = deviceLockFixture;
5759
}
5860

61+
[Fact]
62+
public void GetKeyDataTest()
63+
{
64+
var data = PxKeyData.FromBase64String(TEST_DB_KEY_DATA);
65+
Debug.WriteLine($"Username = {data.Username}");
66+
}
67+
5968
[Fact]
6069
public void IsOpenDbTest()
6170
{
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
using Microsoft.Maui.Devices;
7+
8+
namespace PassXYZLib.xunit.PassXYZ
9+
{
10+
public class MockDeviceInfo : IDeviceInfo
11+
{
12+
public string Model => "Lib";
13+
public string Manufacturer => "PassXYZ";
14+
public string Name => "PassXYZLib";
15+
public Version Version => new(1, 0, 0, 0);
16+
public string VersionString => Version.ToString();
17+
public DevicePlatform Platform => new();
18+
public DeviceIdiom Idiom => new();
19+
public DeviceType DeviceType => new();
20+
}
21+
}
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
using Xunit;
2+
using PassXYZ.Utils;
3+
using System.Diagnostics;
4+
using PassXYZ.Services;
5+
6+
namespace PassXYZLib.xunit.PassXYZ
7+
{
8+
public class NewDatabaseTests
9+
{
10+
const string TEST_USER = "NewKeyDataTest";
11+
const string TEST_DB_KEY = "123123";
12+
readonly User _testUser;
13+
readonly PxDatabase _db;
14+
15+
public NewDatabaseTests()
16+
{
17+
_testUser = new User()
18+
{
19+
Username = TEST_USER,
20+
Password = TEST_DB_KEY,
21+
IsDeviceLockEnabled = true
22+
};
23+
_db = new();
24+
}
25+
26+
void Connect()
27+
{
28+
var deviceInfo = new MockDeviceInfo();
29+
NewKeyData newKeyData = new()
30+
{
31+
Name = deviceInfo.Name,
32+
Idiom = deviceInfo.Idiom.ToString(),
33+
Manufacturer = deviceInfo.Manufacturer,
34+
Model = deviceInfo.Model,
35+
Platform = deviceInfo.Platform.ToString(),
36+
Version = deviceInfo.Version.ToString(),
37+
VersionString = deviceInfo.VersionString,
38+
DeviceType = deviceInfo.DeviceType.ToString(),
39+
};
40+
PxKeyProvider pxKeyProvider = new(newKeyData);
41+
if (_testUser.IsKeyFileExist)
42+
{
43+
_db.Open(_testUser);
44+
}
45+
else
46+
{
47+
_db.New(_testUser, pxKeyProvider);
48+
ShowWarningsLogger swLogger = new();
49+
_db.Save(swLogger);
50+
}
51+
}
52+
53+
[Fact]
54+
public void IsOpenDbTest()
55+
{
56+
Connect();
57+
Debug.WriteLine($"Username is {_testUser.Username}.");
58+
Assert.True((_db.IsOpen));
59+
}
60+
61+
[Fact]
62+
public void DeleteUserTest()
63+
{
64+
_testUser.Delete();
65+
Assert.False(_testUser.IsKeyFileExist);
66+
}
67+
}
68+
}
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
using PassXYZ.Services;
2+
using PassXYZ.Utils;
3+
using System;
4+
using System.Collections.Generic;
5+
using System.Diagnostics;
6+
using System.Linq;
7+
using System.Text;
8+
using System.Threading.Tasks;
9+
using Xunit;
10+
11+
namespace PassXYZLib.xunit.PassXYZ
12+
{
13+
public class OldDatabaseTests
14+
{
15+
const string TEST_USER = "OldKeyDataTest";
16+
const string TEST_DB_KEY = "123123";
17+
readonly User _testUser;
18+
readonly PxDatabase _db;
19+
20+
public OldDatabaseTests()
21+
{
22+
_testUser = new User()
23+
{
24+
Username = TEST_USER,
25+
Password = TEST_DB_KEY,
26+
IsDeviceLockEnabled = true
27+
};
28+
_db = new();
29+
}
30+
31+
void Connect()
32+
{
33+
var deviceInfo = new MockDeviceInfo();
34+
OldKeyData keyData = new()
35+
{
36+
Name = deviceInfo.Name,
37+
Idiom = deviceInfo.Idiom.ToString(),
38+
Manufacturer = deviceInfo.Manufacturer,
39+
Model = deviceInfo.Model,
40+
Platform = deviceInfo.Platform.ToString(),
41+
Version = deviceInfo.Version.ToString(),
42+
VersionString = deviceInfo.VersionString,
43+
DeviceType = deviceInfo.DeviceType.ToString(),
44+
};
45+
keyData.SetData();
46+
PxKeyProvider pxKeyProvider = new(keyData);
47+
if (_testUser.IsKeyFileExist)
48+
{
49+
_db.Open(_testUser);
50+
}
51+
else
52+
{
53+
_db.New(_testUser, pxKeyProvider);
54+
ShowWarningsLogger swLogger = new();
55+
_db.Save(swLogger);
56+
}
57+
}
58+
59+
[Fact]
60+
public void IsOpenDbTest()
61+
{
62+
Connect();
63+
Debug.WriteLine($"Username is {_testUser.Username}.");
64+
Assert.True((_db.IsOpen));
65+
}
66+
67+
[Fact]
68+
public void DeleteUserTest()
69+
{
70+
_testUser.Delete();
71+
Assert.False(_testUser.IsKeyFileExist);
72+
}
73+
}
74+
}

PassXYZLib.xunit/PassXYZLib.xunit.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net6.0</TargetFramework>
4+
<TargetFramework>net7.0</TargetFramework>
55
<Nullable>enable</Nullable>
66
<Version>2.0.0</Version>
77

88
<IsPackable>false</IsPackable>
9-
<UseMaui>true</UseMaui>
9+
<UseMaui>true</UseMaui>
1010

1111
<SupportedOSPlatformVersion Condition="$(TargetFramework.Contains('-windows'))">10.0.17763.0</SupportedOSPlatformVersion>
1212
<TargetPlatformMinVersion Condition="$(TargetFramework.Contains('-windows'))">10.0.17763.0</TargetPlatformMinVersion>

PassXYZLib.xunit/PxDatabaseTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ public class PxLibInfoTests
422422
public void PxLibVersion()
423423
{
424424
Debug.WriteLine($"{PxLibInfo.Version}");
425-
Assert.Equal(PxLibInfo.Version, new System.Version("2.0.1.0"));
425+
Assert.Equal(PxLibInfo.Version, new System.Version("2.1.0.0"));
426426
}
427427

428428
[Fact]

PassXYZLib/PassXYZLib.csproj

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net6.0;net6.0-android;net6.0-ios;net6.0-maccatalyst</TargetFrameworks>
5-
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net6.0-windows10.0.19041.0</TargetFrameworks>
4+
<TargetFrameworks>net7.0;net7.0-android;net7.0-ios;net7.0-maccatalyst</TargetFrameworks>
5+
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net7.0-windows10.0.19041.0</TargetFrameworks>
66
<!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET -->
7-
<!-- <TargetFrameworks>$(TargetFrameworks);net6.0-tizen</TargetFrameworks> -->
7+
<!-- <TargetFrameworks>$(TargetFrameworks);net7.0-tizen</TargetFrameworks> -->
88
<UseMaui>true</UseMaui>
99
<SingleProject>true</SingleProject>
1010

@@ -17,15 +17,16 @@
1717

1818
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
1919

20-
<Version>2.0.2</Version>
20+
<Version>2.1.1</Version>
2121
<NeutralLanguage>en-US</NeutralLanguage>
22+
<EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
2223
</PropertyGroup>
2324

2425
<ItemGroup>
25-
<PackageReference Include="HtmlAgilityPack" Version="1.11.42" />
26+
<PackageReference Include="HtmlAgilityPack" Version="1.11.46" />
2627
<PackageReference Include="Markdig" Version="0.23.0" />
27-
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
28-
<PackageReference Include="PassXYZ" Version="2.1.5.28" />
28+
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
29+
<PackageReference Include="PassXYZ" Version="3.1.0" />
2930
</ItemGroup>
3031

3132
<ItemGroup>

0 commit comments

Comments
 (0)