Skip to content

Commit 3215d68

Browse files
committed
updates adding tests in and updating readme/composer file
1 parent a7fd66c commit 3215d68

7 files changed

Lines changed: 969 additions & 26 deletions

File tree

.github/workflows/tests.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [master]
6+
pull_request:
7+
branches: [master]
8+
9+
jobs:
10+
tests:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
php-version: ['8.2', '8.3', '8.4']
15+
16+
name: PHP ${{ matrix.php-version }}
17+
18+
steps:
19+
- name: Checkout code
20+
uses: actions/checkout@v4
21+
22+
- name: Setup PHP
23+
uses: shivammathur/setup-php@v2
24+
with:
25+
php-version: ${{ matrix.php-version }}
26+
extensions: soap
27+
coverage: none
28+
29+
- name: Install dependencies
30+
run: composer install --no-interaction --prefer-dist
31+
32+
- name: Run tests
33+
run: vendor/bin/phpunit --no-coverage

README.md

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,41 @@
1-
# Parallels Licensing Class
1+
# MyAdmin Parallels Licensing Plugin
22

3-
Parallels Licensing Class
3+
A MyAdmin plugin that integrates Parallels Plesk and Virtuozzo license management into the MyAdmin hosting control panel. Provides automated license provisioning, activation, deactivation, IP change handling, and key-based termination through the Parallels KA (Key Administrator) API.
44

5-
## Build Status and Code Analysis
5+
[![Build Status](https://github.com/detain/myadmin-parallels-licensing/actions/workflows/tests.yml/badge.svg)](https://github.com/detain/myadmin-parallels-licensing/actions/workflows/tests.yml)
6+
[![Latest Stable Version](https://poser.pugx.org/detain/myadmin-parallels-licensing/version)](https://packagist.org/packages/detain/myadmin-parallels-licensing)
7+
[![Total Downloads](https://poser.pugx.org/detain/myadmin-parallels-licensing/downloads)](https://packagist.org/packages/detain/myadmin-parallels-licensing)
8+
[![License](https://poser.pugx.org/detain/myadmin-parallels-licensing/license)](https://packagist.org/packages/detain/myadmin-parallels-licensing)
69

7-
Site | Status
8-
--------------|---------------------------
9-
![Travis-CI](http://i.is.cc/storage/GYd75qN.png "Travis-CI") | [![Build Status](https://travis-ci.org/detain/myadmin-parallels-licensing.svg?branch=master)](https://travis-ci.org/detain/myadmin-parallels-licensing)
10-
![CodeClimate](http://i.is.cc/storage/GYlageh.png "CodeClimate") | [![Code Climate](https://codeclimate.com/github/detain/myadmin-parallels-licensing/badges/gpa.svg)](https://codeclimate.com/github/detain/myadmin-parallels-licensing) [![Test Coverage](https://codeclimate.com/github/detain/myadmin-parallels-licensing/badges/coverage.svg)](https://codeclimate.com/github/detain/myadmin-parallels-licensing/coverage) [![Issue Count](https://codeclimate.com/github/detain/myadmin-parallels-licensing/badges/issue_count.svg)](https://codeclimate.com/github/detain/myadmin-parallels-licensing)
11-
![Scrutinizer](http://i.is.cc/storage/GYeUnux.png "Scrutinizer") | [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/myadmin-plugins/parallels-licensing/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/myadmin-plugins/parallels-licensing/?branch=master) [![Code Coverage](https://scrutinizer-ci.com/g/myadmin-plugins/parallels-licensing/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/myadmin-plugins/parallels-licensing/?branch=master) [![Build Status](https://scrutinizer-ci.com/g/myadmin-plugins/parallels-licensing/badges/build.png?b=master)](https://scrutinizer-ci.com/g/myadmin-plugins/parallels-licensing/build-status/master)
12-
![Codacy](http://i.is.cc/storage/GYi66Cx.png "Codacy") | [![Codacy Badge](https://api.codacy.com/project/badge/Grade/226251fc068f4fd5b4b4ef9a40011d06)](https://www.codacy.com/app/detain/myadmin-parallels-licensing) [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/25fa74eb74c947bf969602fcfe87e349)](https://www.codacy.com/app/detain/myadmin-parallels-licensing?utm_source=github.com&utm_medium=referral&utm_content=detain/myadmin-parallels-licensing&utm_campaign=Badge_Coverage)
13-
![Coveralls](http://i.is.cc/storage/GYjNSim.png "Coveralls") | [![Coverage Status](https://coveralls.io/repos/github/detain/db_abstraction/badge.svg?branch=master)](https://coveralls.io/github/detain/myadmin-parallels-licensing?branch=master)
14-
![Packagist](http://i.is.cc/storage/GYacBEX.png "Packagist") | [![Latest Stable Version](https://poser.pugx.org/detain/myadmin-parallels-licensing/version)](https://packagist.org/packages/detain/myadmin-parallels-licensing) [![Total Downloads](https://poser.pugx.org/detain/myadmin-parallels-licensing/downloads)](https://packagist.org/packages/detain/myadmin-parallels-licensing) [![Latest Unstable Version](https://poser.pugx.org/detain/myadmin-parallels-licensing/v/unstable)](//packagist.org/packages/detain/myadmin-parallels-licensing) [![Monthly Downloads](https://poser.pugx.org/detain/myadmin-parallels-licensing/d/monthly)](https://packagist.org/packages/detain/myadmin-parallels-licensing) [![Daily Downloads](https://poser.pugx.org/detain/myadmin-parallels-licensing/d/daily)](https://packagist.org/packages/detain/myadmin-parallels-licensing) [![License](https://poser.pugx.org/detain/myadmin-parallels-licensing/license)](https://packagist.org/packages/detain/myadmin-parallels-licensing)
10+
## Features
1511

12+
- License activation and reactivation with addon support
13+
- License deactivation by IP address or key number
14+
- IP address change handling with fault reporting
15+
- Configurable KA client, login, password, and URL settings
16+
- Event-driven architecture via Symfony EventDispatcher
17+
- Automatic requirement loading through the MyAdmin plugin system
1618

1719
## Installation
1820

19-
Install with composer like
20-
2121
```sh
2222
composer require detain/myadmin-parallels-licensing
2323
```
2424

25-
## License
25+
## Requirements
26+
27+
- PHP 8.2 or later
28+
- ext-soap
29+
- Symfony EventDispatcher 5.x
30+
- detain/parallels-licensing
31+
32+
## Running Tests
2633

27-
The Parallels Licensing Class class is licensed under the LGPL-v2.1 license.
34+
```sh
35+
composer install
36+
vendor/bin/phpunit
37+
```
38+
39+
## License
2840

41+
This package is licensed under the [LGPL-2.1](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html) license.

composer.json

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,45 @@
11
{
22
"name": "detain/myadmin-parallels-licensing",
33
"type": "myadmin-plugin",
4-
"description": "Parallels Licensing Class",
4+
"description": "MyAdmin Parallels Licensing Plugin - Provides Parallels Plesk and Virtuozzo license provisioning, activation, deactivation, and IP management integration for the MyAdmin control panel.",
55
"keywords": [
66
"parallels",
7+
"plesk",
8+
"licensing",
9+
"myadmin",
10+
"plugin",
711
"administration",
812
"license"
913
],
1014
"license": "LGPL-2.1-only",
1115
"authors": [
1216
{
1317
"name": "Joe Huss",
14-
"homepage": "https:\/\/my.interserver.net\/"
18+
"homepage": "https://my.interserver.net/"
1519
}
1620
],
1721
"config": {
18-
"bin-dir": "vendor\/bin",
22+
"bin-dir": "vendor/bin",
1923
"minimum-stability": "dev"
2024
},
2125
"require": {
22-
"php": ">=5.0.0",
26+
"php": ">=8.2",
2327
"ext-soap": "*",
2428
"symfony/event-dispatcher": "^5.0@stable",
2529
"detain/myadmin-plugin-installer": "dev-master",
2630
"detain/parallels-licensing": "*"
27-
},
31+
},
2832
"require-dev": {
29-
"phpunit/phpunit": "*",
30-
"phpunit/phpunit-mock-objects": "*",
31-
"vlucas/phpdotenv": "*",
32-
"codeclimate/php-test-reporter": "*",
33-
"satooshi/php-coveralls": "*",
34-
"codacy/coverage": "*"
33+
"phpunit/phpunit": "^9.6"
3534
},
3635
"autoload": {
3736
"psr-4": {
3837
"Detain\\MyAdminParallels\\": "src/"
3938
}
39+
},
40+
"autoload-dev": {
41+
"psr-4": {
42+
"Detain\\MyAdminParallels\\Tests\\": "tests/"
43+
}
4044
}
4145
}

phpunit.xml.dist

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
4+
bootstrap="tests/bootstrap.php"
5+
colors="true"
6+
verbose="true"
7+
failOnRisky="true"
8+
failOnWarning="true"
9+
cacheResultFile=".phpunit.cache/test-results"
10+
beStrictAboutTestsThatDoNotTestAnything="true">
11+
<testsuites>
12+
<testsuite name="Unit">
13+
<directory>tests</directory>
14+
</testsuite>
15+
</testsuites>
16+
<coverage>
17+
<include>
18+
<directory suffix=".php">src</directory>
19+
</include>
20+
</coverage>
21+
</phpunit>

0 commit comments

Comments
 (0)