Compare commits
5 commits
developmen
...
master
Author | SHA1 | Date | |
---|---|---|---|
5221ca9df6 | |||
0644b94303 | |||
|
d96fdc3120 | ||
|
da6dd242a0 | ||
340711b331 |
9 changed files with 149 additions and 199 deletions
|
@ -1 +0,0 @@
|
||||||
service_name: travis-ci
|
|
29
.github/workflows/test.yml
vendored
Normal file
29
.github/workflows/test.yml
vendored
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
name: Test
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
name: Test PHP ${{ matrix.php-version }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
php-version: ['5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Setup PHP
|
||||||
|
uses: shivammathur/setup-php@v2
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-version }}
|
||||||
|
- name: PHP Version
|
||||||
|
run: php --version
|
||||||
|
- name: Composer Version
|
||||||
|
run: composer --version
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: COMPOSER_MEMORY_LIMIT=-1 composer install
|
||||||
|
- name: Run Tests
|
||||||
|
run: vendor/bin/phpunit --coverage-clover ./coverage.xml
|
||||||
|
- name: Upload Coverage
|
||||||
|
if: ${{ matrix.php-version == '7.4' }}
|
||||||
|
uses: codecov/codecov-action@v1
|
||||||
|
with:
|
||||||
|
file: ./coverage.xml
|
40
.travis.yml
40
.travis.yml
|
@ -1,40 +0,0 @@
|
||||||
language: php
|
|
||||||
dist: bionic
|
|
||||||
sudo: required
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- php: 5.3
|
|
||||||
dist: precise
|
|
||||||
- php: 5.4
|
|
||||||
dist: trusty
|
|
||||||
- php: 5.5
|
|
||||||
dist: trusty
|
|
||||||
- php: 5.6
|
|
||||||
dist: trusty
|
|
||||||
- php: 7.0
|
|
||||||
dist: xenial
|
|
||||||
- php: 7.1
|
|
||||||
- php: 7.2
|
|
||||||
- php: 7.3
|
|
||||||
- php: 7.4
|
|
||||||
env: COVERAGE=true
|
|
||||||
- php: nightly
|
|
||||||
allow_failures:
|
|
||||||
- php: nightly
|
|
||||||
|
|
||||||
install:
|
|
||||||
- php --version
|
|
||||||
- composer install
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- mkdir -p build/logs
|
|
||||||
|
|
||||||
script:
|
|
||||||
- vendor/bin/phpunit --coverage-clover build/logs/clover.xml
|
|
||||||
|
|
||||||
after_success:
|
|
||||||
- |
|
|
||||||
if [[ $COVERAGE ]]; then
|
|
||||||
travis_retry php vendor/bin/php-coveralls --config .coveralls.yml -v
|
|
||||||
fi
|
|
|
@ -1 +1 @@
|
||||||
patreon: joshtronic
|
github: joshtronic
|
||||||
|
|
2
LICENSE
2
LICENSE
|
@ -1,6 +1,6 @@
|
||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Josh Sherman
|
Copyright (c) 2012-2014 Josh Sherman
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
|
|
@ -1,33 +1,26 @@
|
||||||
{
|
{
|
||||||
"name": "joshtronic/php-projecthoneypot",
|
"name": "joshtronic/php-projecthoneypot",
|
||||||
"description": "PHP Wrapper for Project Honey Pot",
|
"description": "PHP Wrapper for Project Honey Pot",
|
||||||
"version": "1.0.1",
|
"version": "1.0.0",
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"keywords": [
|
"keywords": ["project", "honey", "pot", "api", "spam", "spammer"],
|
||||||
"project",
|
|
||||||
"honey",
|
|
||||||
"pot",
|
|
||||||
"api",
|
|
||||||
"spam",
|
|
||||||
"spammer"
|
|
||||||
],
|
|
||||||
"homepage": "https://github.com/joshtronic/php-projecthoneypot",
|
"homepage": "https://github.com/joshtronic/php-projecthoneypot",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"authors": [{
|
"authors": [{
|
||||||
"name": "Josh Sherman",
|
"name": "Josh Sherman",
|
||||||
"email": "hello@joshtronic.com",
|
"email": "hello@joshtronic.com",
|
||||||
"homepage": "https://joshtronic.com"
|
"homepage": "http://joshtronic.com"
|
||||||
}],
|
}],
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.3"
|
"php": ">=5.3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"php-coveralls/php-coveralls": ">=1",
|
"phpunit/phpunit": "^4.8.36 || ^9.0"
|
||||||
"phpunit/phpunit": ">=4"
|
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {"joshtronic\\": "src/"}
|
||||||
"joshtronic\\": "src/"
|
},
|
||||||
}
|
"autoload-dev": {
|
||||||
|
"psr-4": {"joshtronic\\Tests\\": "tests/"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<phpunit
|
<phpunit
|
||||||
colors="true"
|
colors="true"
|
||||||
|
bootstrap="./vendor/autoload.php"
|
||||||
convertErrorsToExceptions="true"
|
convertErrorsToExceptions="true"
|
||||||
convertNoticesToExceptions="true"
|
convertNoticesToExceptions="true"
|
||||||
convertWarningsToExceptions="true"
|
convertWarningsToExceptions="true"
|
||||||
|
@ -11,7 +12,7 @@
|
||||||
verbose="true"
|
verbose="true"
|
||||||
>
|
>
|
||||||
<testsuites>
|
<testsuites>
|
||||||
<testsuite name="Project Honey Pot">
|
<testsuite name="Project Honeypot">
|
||||||
<directory>tests</directory>
|
<directory>tests</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
</testsuites>
|
</testsuites>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
* Redistribution of these files must retain the above copyright notice.
|
* Redistribution of these files must retain the above copyright notice.
|
||||||
*
|
*
|
||||||
* @author Josh Sherman <hello@joshtronic.com>
|
* @author Josh Sherman <hello@joshtronic.com>
|
||||||
* @copyright Copyright 2012, 2013, 2014, 2015, 2016, 2017, 2018 Josh Sherman
|
* @copyright Copyright 2012-2015, Josh Sherman
|
||||||
* @license http://www.opensource.org/licenses/mit-license.html
|
* @license http://www.opensource.org/licenses/mit-license.html
|
||||||
* @link https://github.com/joshtronic/php-projecthoneypot
|
* @link https://github.com/joshtronic/php-projecthoneypot
|
||||||
* @link http://www.projecthoneypot.org/httpbl_configure.php
|
* @link http://www.projecthoneypot.org/httpbl_configure.php
|
||||||
|
@ -122,7 +122,7 @@ class ProjectHoneyPot
|
||||||
/**
|
/**
|
||||||
* DNS Get Record
|
* DNS Get Record
|
||||||
*
|
*
|
||||||
* Wrapper method for dns_get_record() to allow fo easy mocking of the
|
* Wrapper method for dns_get_record() to allow for easy mocking of the
|
||||||
* results in our tests. Takes an already reversed IP address and does a
|
* results in our tests. Takes an already reversed IP address and does a
|
||||||
* DNS lookup for A records against the http:BL API.
|
* DNS lookup for A records against the http:BL API.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,34 +1,22 @@
|
||||||
<?php
|
<?php
|
||||||
|
namespace joshtronic\Tests;
|
||||||
|
use joshtronic\ProjectHoneyPot;
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
require_once '../src/ProjectHoneyPot.php';
|
class ProjectHoneyPotTest extends TestCase
|
||||||
|
|
||||||
if (
|
|
||||||
!class_exists('\PHPUnit_Framework_TestCase')
|
|
||||||
&& class_exists('\PHPUnit\Framework\TestCase')
|
|
||||||
) {
|
|
||||||
class_alias('\PHPUnit\Framework\TestCase', '\PHPUnit_Framework_TestCase');
|
|
||||||
}
|
|
||||||
|
|
||||||
$createMock = 'createMock';
|
|
||||||
|
|
||||||
if (version_compare(PHPUnit_Runner_Version::id(), '5.4', '<=')) {
|
|
||||||
$createMock = 'getMock';
|
|
||||||
}
|
|
||||||
|
|
||||||
class ProjectHoneyPotTest extends PHPUnit_Framework_TestCase
|
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* @expectedException Exception
|
|
||||||
* @expectedExceptionMessage You must specify a valid API key.
|
|
||||||
*/
|
|
||||||
public function testInvalidKey()
|
public function testInvalidKey()
|
||||||
{
|
{
|
||||||
new joshtronic\ProjectHoneyPot('foo');
|
try {
|
||||||
|
new ProjectHoneyPot('foo');
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$this->assertSame('You must specify a valid API key.', $e->getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testInvalidIP()
|
public function testInvalidIP()
|
||||||
{
|
{
|
||||||
$object = new joshtronic\ProjectHoneyPot('foobarfoobar');
|
$object = new ProjectHoneyPot('foobarfoobar');
|
||||||
|
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
array('error' => 'Invalid IP address.'),
|
array('error' => 'Invalid IP address.'),
|
||||||
|
@ -38,14 +26,12 @@ class ProjectHoneyPotTest extends PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
public function testMissingResults()
|
public function testMissingResults()
|
||||||
{
|
{
|
||||||
$mock = $this->$createMock(
|
$mock = $this->getMockBuilder('joshtronic\\ProjectHoneyPot')
|
||||||
'joshtronic\ProjectHoneyPot',
|
->setConstructorArgs(array('foobarfoobar'))
|
||||||
array('dns_get_record'),
|
->setMethods(array('dns_get_record'))
|
||||||
array('foobarfoobar')
|
->getMock();
|
||||||
);
|
|
||||||
|
|
||||||
$mock
|
$mock->expects($this->once())
|
||||||
->expects($this->once())
|
|
||||||
->method('dns_get_record')
|
->method('dns_get_record')
|
||||||
->will($this->returnValue('foo'));
|
->will($this->returnValue('foo'));
|
||||||
|
|
||||||
|
@ -54,14 +40,12 @@ class ProjectHoneyPotTest extends PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
public function testCategory0()
|
public function testCategory0()
|
||||||
{
|
{
|
||||||
$mock = $this->$createMock(
|
$mock = $this->getMockBuilder('joshtronic\\ProjectHoneyPot')
|
||||||
'joshtronic\ProjectHoneyPot',
|
->setConstructorArgs(array('foobarfoobar'))
|
||||||
array('dns_get_record'),
|
->setMethods(array('dns_get_record'))
|
||||||
array('foobarfoobar')
|
->getMock();
|
||||||
);
|
|
||||||
|
|
||||||
$mock
|
$mock->expects($this->once())
|
||||||
->expects($this->once())
|
|
||||||
->method('dns_get_record')
|
->method('dns_get_record')
|
||||||
->will($this->returnValue(array(array('ip' => '127.0.0.0'))));
|
->will($this->returnValue(array(array('ip' => '127.0.0.0'))));
|
||||||
|
|
||||||
|
@ -72,14 +56,12 @@ class ProjectHoneyPotTest extends PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
public function testCategory1()
|
public function testCategory1()
|
||||||
{
|
{
|
||||||
$mock = $this->$createMock(
|
$mock = $this->getMockBuilder('joshtronic\\ProjectHoneyPot')
|
||||||
'joshtronic\ProjectHoneyPot',
|
->setConstructorArgs(array('foobarfoobar'))
|
||||||
array('dns_get_record'),
|
->setMethods(array('dns_get_record'))
|
||||||
array('foobarfoobar')
|
->getMock();
|
||||||
);
|
|
||||||
|
|
||||||
$mock
|
$mock->expects($this->once())
|
||||||
->expects($this->once())
|
|
||||||
->method('dns_get_record')
|
->method('dns_get_record')
|
||||||
->will($this->returnValue(array(array('ip' => '127.0.0.1'))));
|
->will($this->returnValue(array(array('ip' => '127.0.0.1'))));
|
||||||
|
|
||||||
|
@ -90,14 +72,12 @@ class ProjectHoneyPotTest extends PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
public function testCategory2()
|
public function testCategory2()
|
||||||
{
|
{
|
||||||
$mock = $this->$createMock(
|
$mock = $this->getMockBuilder('joshtronic\\ProjectHoneyPot')
|
||||||
'joshtronic\ProjectHoneyPot',
|
->setConstructorArgs(array('foobarfoobar'))
|
||||||
array('dns_get_record'),
|
->setMethods(array('dns_get_record'))
|
||||||
array('foobarfoobar')
|
->getMock();
|
||||||
);
|
|
||||||
|
|
||||||
$mock
|
$mock->expects($this->once())
|
||||||
->expects($this->once())
|
|
||||||
->method('dns_get_record')
|
->method('dns_get_record')
|
||||||
->will($this->returnValue(array(array('ip' => '127.0.0.2'))));
|
->will($this->returnValue(array(array('ip' => '127.0.0.2'))));
|
||||||
|
|
||||||
|
@ -108,14 +88,12 @@ class ProjectHoneyPotTest extends PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
public function testCategory3()
|
public function testCategory3()
|
||||||
{
|
{
|
||||||
$mock = $this->$createMock(
|
$mock = $this->getMockBuilder('joshtronic\\ProjectHoneyPot')
|
||||||
'joshtronic\ProjectHoneyPot',
|
->setConstructorArgs(array('foobarfoobar'))
|
||||||
array('dns_get_record'),
|
->setMethods(array('dns_get_record'))
|
||||||
array('foobarfoobar')
|
->getMock();
|
||||||
);
|
|
||||||
|
|
||||||
$mock
|
$mock->expects($this->once())
|
||||||
->expects($this->once())
|
|
||||||
->method('dns_get_record')
|
->method('dns_get_record')
|
||||||
->will($this->returnValue(array(array('ip' => '127.0.0.3'))));
|
->will($this->returnValue(array(array('ip' => '127.0.0.3'))));
|
||||||
|
|
||||||
|
@ -129,14 +107,12 @@ class ProjectHoneyPotTest extends PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
public function testCategory4()
|
public function testCategory4()
|
||||||
{
|
{
|
||||||
$mock = $this->$createMock(
|
$mock = $this->getMockBuilder('joshtronic\\ProjectHoneyPot')
|
||||||
'joshtronic\ProjectHoneyPot',
|
->setConstructorArgs(array('foobarfoobar'))
|
||||||
array('dns_get_record'),
|
->setMethods(array('dns_get_record'))
|
||||||
array('foobarfoobar')
|
->getMock();
|
||||||
);
|
|
||||||
|
|
||||||
$mock
|
$mock->expects($this->once())
|
||||||
->expects($this->once())
|
|
||||||
->method('dns_get_record')
|
->method('dns_get_record')
|
||||||
->will($this->returnValue(array(array('ip' => '127.0.0.4'))));
|
->will($this->returnValue(array(array('ip' => '127.0.0.4'))));
|
||||||
|
|
||||||
|
@ -150,14 +126,12 @@ class ProjectHoneyPotTest extends PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
public function testCategory5()
|
public function testCategory5()
|
||||||
{
|
{
|
||||||
$mock = $this->$createMock(
|
$mock = $this->getMockBuilder('joshtronic\\ProjectHoneyPot')
|
||||||
'joshtronic\ProjectHoneyPot',
|
->setConstructorArgs(array('foobarfoobar'))
|
||||||
array('dns_get_record'),
|
->setMethods(array('dns_get_record'))
|
||||||
array('foobarfoobar')
|
->getMock();
|
||||||
);
|
|
||||||
|
|
||||||
$mock
|
$mock->expects($this->once())
|
||||||
->expects($this->once())
|
|
||||||
->method('dns_get_record')
|
->method('dns_get_record')
|
||||||
->will($this->returnValue(array(array('ip' => '127.0.0.5'))));
|
->will($this->returnValue(array(array('ip' => '127.0.0.5'))));
|
||||||
|
|
||||||
|
@ -171,14 +145,12 @@ class ProjectHoneyPotTest extends PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
public function testCategory6()
|
public function testCategory6()
|
||||||
{
|
{
|
||||||
$mock = $this->$createMock(
|
$mock = $this->getMockBuilder('joshtronic\\ProjectHoneyPot')
|
||||||
'joshtronic\ProjectHoneyPot',
|
->setConstructorArgs(array('foobarfoobar'))
|
||||||
array('dns_get_record'),
|
->setMethods(array('dns_get_record'))
|
||||||
array('foobarfoobar')
|
->getMock();
|
||||||
);
|
|
||||||
|
|
||||||
$mock
|
$mock->expects($this->once())
|
||||||
->expects($this->once())
|
|
||||||
->method('dns_get_record')
|
->method('dns_get_record')
|
||||||
->will($this->returnValue(array(array('ip' => '127.0.0.6'))));
|
->will($this->returnValue(array(array('ip' => '127.0.0.6'))));
|
||||||
|
|
||||||
|
@ -192,14 +164,12 @@ class ProjectHoneyPotTest extends PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
public function testCategory7()
|
public function testCategory7()
|
||||||
{
|
{
|
||||||
$mock = $this->$createMock(
|
$mock = $this->getMockBuilder('joshtronic\\ProjectHoneyPot')
|
||||||
'joshtronic\ProjectHoneyPot',
|
->setConstructorArgs(array('foobarfoobar'))
|
||||||
array('dns_get_record'),
|
->setMethods(array('dns_get_record'))
|
||||||
array('foobarfoobar')
|
->getMock();
|
||||||
);
|
|
||||||
|
|
||||||
$mock
|
$mock->expects($this->once())
|
||||||
->expects($this->once())
|
|
||||||
->method('dns_get_record')
|
->method('dns_get_record')
|
||||||
->will($this->returnValue(array(array('ip' => '127.0.0.7'))));
|
->will($this->returnValue(array(array('ip' => '127.0.0.7'))));
|
||||||
|
|
||||||
|
@ -213,14 +183,12 @@ class ProjectHoneyPotTest extends PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
public function testCategoryDefault()
|
public function testCategoryDefault()
|
||||||
{
|
{
|
||||||
$mock = $this->$createMock(
|
$mock = $this->getMockBuilder('joshtronic\\ProjectHoneyPot')
|
||||||
'joshtronic\ProjectHoneyPot',
|
->setConstructorArgs(array('foobarfoobar'))
|
||||||
array('dns_get_record'),
|
->setMethods(array('dns_get_record'))
|
||||||
array('foobarfoobar')
|
->getMock();
|
||||||
);
|
|
||||||
|
|
||||||
$mock
|
$mock->expects($this->once())
|
||||||
->expects($this->once())
|
|
||||||
->method('dns_get_record')
|
->method('dns_get_record')
|
||||||
->will($this->returnValue(array(array('ip' => '127.0.0.255'))));
|
->will($this->returnValue(array(array('ip' => '127.0.0.255'))));
|
||||||
|
|
||||||
|
@ -234,14 +202,12 @@ class ProjectHoneyPotTest extends PHPUnit_Framework_TestCase
|
||||||
|
|
||||||
public function testWithout127()
|
public function testWithout127()
|
||||||
{
|
{
|
||||||
$mock = $this->$createMock(
|
$mock = $this->getMockBuilder('joshtronic\\ProjectHoneyPot')
|
||||||
'joshtronic\ProjectHoneyPot',
|
->setConstructorArgs(array('foobarfoobar'))
|
||||||
array('dns_get_record'),
|
->setMethods(array('dns_get_record'))
|
||||||
array('foobarfoobar')
|
->getMock();
|
||||||
);
|
|
||||||
|
|
||||||
$mock
|
$mock->expects($this->once())
|
||||||
->expects($this->once())
|
|
||||||
->method('dns_get_record')
|
->method('dns_get_record')
|
||||||
->will($this->returnValue(array(array('ip' => '1.0.0.0'))));
|
->will($this->returnValue(array(array('ip' => '1.0.0.0'))));
|
||||||
|
|
||||||
|
@ -251,9 +217,11 @@ class ProjectHoneyPotTest extends PHPUnit_Framework_TestCase
|
||||||
// Doesn't serve much purpose aside from helping achieve 100% coverage
|
// Doesn't serve much purpose aside from helping achieve 100% coverage
|
||||||
public function testDnsGetRecord()
|
public function testDnsGetRecord()
|
||||||
{
|
{
|
||||||
$object = new joshtronic\ProjectHoneyPot('foobarfoobar');
|
$object = new ProjectHoneyPot('foobarfoobar');
|
||||||
|
|
||||||
$object->dns_get_record('1.2.3.4');
|
$result = $object->dns_get_record('1.2.3.4');
|
||||||
|
|
||||||
|
$this->assertEquals(array(), $result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue