Skip to content

Commit 0c2e719

Browse files
author
Martin Brecht-Precht
committed
Updated the SharedSecretQrCodeProvider and the related test cases.
1 parent d832c6d commit 0c2e719

File tree

5 files changed

+39
-28
lines changed

5 files changed

+39
-28
lines changed

.travis.yml

+12-3
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,19 @@ php:
1919
- '7.0'
2020
- hhvm
2121

22-
install:
23-
- composer install
24-
2522
matrix:
2623
allow_failures:
2724
- php: hhvm
2825
- php: '5.3'
26+
27+
install:
28+
- composer install
29+
30+
before_script:
31+
- mkdir -p build/logs
32+
33+
script:
34+
- phpunit --coverage-clover build/logs/clover.xml
35+
36+
after_success:
37+
- sh -c 'if [ "$TRAVIS_PHP_VERSION" != "hhvm" -a "$TRAVIS_PHP_VERSION" != "5.3" ]; then CODECLIMATE_REPO_TOKEN=cd6415fc98a44d7ef506fda4cb158ddff4443ec69ace7414a890f15805159f5b ./vendor/bin/test-reporter; fi;'

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# PHP Oath Server Suite
22

33
[![Build Status](https://travis-ci.org/markenwerk/php-oath-server-suite.svg?branch=master)](https://travis-ci.org/markenwerk/php-oath-server-suite)
4+
[![Test Coverage](https://codeclimate.com/github/markenwerk/php-oath-server-suite/badges/coverage.svg)](https://codeclimate.com/github/markenwerk/php-oath-server-suite/coverage)
45
[![Code Climate](https://codeclimate.com/github/markenwerk/php-oath-server-suite/badges/gpa.svg)](https://codeclimate.com/github/markenwerk/php-oath-server-suite)
56
[![Latest Stable Version](https://poser.pugx.org/markenwerk/oath-server-suite/v/stable)](https://packagist.org/packages/markenwerk/oath-server-suite)
67
[![Total Downloads](https://poser.pugx.org/markenwerk/oath-server-suite/downloads)](https://packagist.org/packages/markenwerk/oath-server-suite)

composer.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,12 @@
2828
"require": {
2929
"php": ">=5.3",
3030
"lib-curl": "*",
31-
"markenwerk/qr-code-suite": "~3.0",
31+
"markenwerk/qr-code-suite": "dev-master",
3232
"enygma/yubikey": "~3.0",
3333
"skleeschulte/base32": "*"
3434
},
3535
"require-dev": {
36-
"phpunit/phpunit": "~4.8"
36+
"phpunit/phpunit": "~4.8",
37+
"codeclimate/php-test-reporter": "dev-master"
3738
}
3839
}

src/SecretSharing/SharedSecretQrCodeProvider/SharedSecretQrCodeProvider.php

+15-2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ class SharedSecretQrCodeProvider
3535
*/
3636
private $qrEncoder;
3737

38+
/**
39+
* @var QrCodeRendererPng
40+
*/
41+
private $qrRenderer;
42+
3843
/**
3944
* @var string
4045
*/
@@ -68,8 +73,8 @@ public function provideQrCode($path)
6873
{
6974
$this->qrCodeContents = $this->contentEncoder->encode($this->keyName, $this->secret);
7075
$this->qrCode = $this->qrEncoder->encodeQrCode($this->qrCodeContents);
71-
$qrRenderer = new QrCodeRendererPng();
72-
$qrRenderer->render($this->qrCode, $path);
76+
$this->qrRenderer = new QrCodeRendererPng();
77+
$this->qrRenderer->render($this->qrCode, $path);
7378
return $this;
7479
}
7580

@@ -81,6 +86,14 @@ public function getQrEncoder()
8186
return $this->qrEncoder;
8287
}
8388

89+
/**
90+
* @return QrCodeRendererPng
91+
*/
92+
public function getQrRenderer()
93+
{
94+
return $this->qrRenderer;
95+
}
96+
8497
/**
8598
* @return string
8699
*/

test/SecretSharing/SharedSecretQrCodeProvider/SharedSecretQrCodeProviderTest.php

+8-21
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
use OathServerSuite\SecretSharing\SharedSecretUrlEncoder\TotpBase32SharedSecretUrlEncoder;
88
use OathServerSuite\SecretSharing\SharedSecretUrlEncoder\TotpSharedSecretUrlEncoder;
99
use QrCodeSuite\QrEncode\QrEncoder;
10-
use QrCodeSuite\QrRender\QrCodeRendererPng;
1110

1211
/**
1312
* Class SharedSecretQrCodeProviderTest
@@ -37,12 +36,9 @@ public function testHotpBase32ProvideQrCode()
3736
$this->assertFileExists($qrCodeOutputPath);
3837

3938
// Test QR code output file mesaurement
40-
$blockSize = ceil(1000 / ($sharedSecretQrCodeProvider->getQrCode()->getWidth() + 2 * QrCodeRendererPng::MARGIN));
41-
$symbolWidth = ($sharedSecretQrCodeProvider->getQrCode()->getWidth() + 2 * QrCodeRendererPng::MARGIN) * $blockSize;
42-
$symbolHeight = ($sharedSecretQrCodeProvider->getQrCode()->getHeight() + 2 * QrCodeRendererPng::MARGIN) * $blockSize;
4339
$imageSize = getimagesize($qrCodeOutputPath);
44-
$this->assertEquals($symbolWidth, $imageSize[0]);
45-
$this->assertEquals($symbolHeight, $imageSize[1]);
40+
$this->assertEquals($sharedSecretQrCodeProvider->getQrRenderer()->getWidth(), $imageSize[0]);
41+
$this->assertEquals($sharedSecretQrCodeProvider->getQrRenderer()->getHeight(), $imageSize[1]);
4642

4743
// Remove test QR code output file
4844
unlink($qrCodeOutputPath);
@@ -65,12 +61,9 @@ public function testTotpBase32ProvideQrCode()
6561
$this->assertFileExists($qrCodeOutputPath);
6662

6763
// Test QR code output file mesaurement
68-
$blockSize = ceil(1000 / ($sharedSecretQrCodeProvider->getQrCode()->getWidth() + 2 * QrCodeRendererPng::MARGIN));
69-
$symbolWidth = ($sharedSecretQrCodeProvider->getQrCode()->getWidth() + 2 * QrCodeRendererPng::MARGIN) * $blockSize;
70-
$symbolHeight = ($sharedSecretQrCodeProvider->getQrCode()->getHeight() + 2 * QrCodeRendererPng::MARGIN) * $blockSize;
7164
$imageSize = getimagesize($qrCodeOutputPath);
72-
$this->assertEquals($symbolWidth, $imageSize[0]);
73-
$this->assertEquals($symbolHeight, $imageSize[1]);
65+
$this->assertEquals($sharedSecretQrCodeProvider->getQrRenderer()->getWidth(), $imageSize[0]);
66+
$this->assertEquals($sharedSecretQrCodeProvider->getQrRenderer()->getHeight(), $imageSize[1]);
7467

7568
// Remove test QR code output file
7669
unlink($qrCodeOutputPath);
@@ -93,12 +86,9 @@ public function testHotpProvideQrCode()
9386
$this->assertFileExists($qrCodeOutputPath);
9487

9588
// Test QR code output file mesaurement
96-
$blockSize = ceil(1000 / ($sharedSecretQrCodeProvider->getQrCode()->getWidth() + 2 * QrCodeRendererPng::MARGIN));
97-
$symbolWidth = ($sharedSecretQrCodeProvider->getQrCode()->getWidth() + 2 * QrCodeRendererPng::MARGIN) * $blockSize;
98-
$symbolHeight = ($sharedSecretQrCodeProvider->getQrCode()->getHeight() + 2 * QrCodeRendererPng::MARGIN) * $blockSize;
9989
$imageSize = getimagesize($qrCodeOutputPath);
100-
$this->assertEquals($symbolWidth, $imageSize[0]);
101-
$this->assertEquals($symbolHeight, $imageSize[1]);
90+
$this->assertEquals($sharedSecretQrCodeProvider->getQrRenderer()->getWidth(), $imageSize[0]);
91+
$this->assertEquals($sharedSecretQrCodeProvider->getQrRenderer()->getHeight(), $imageSize[1]);
10292

10393
// Remove test QR code output file
10494
unlink($qrCodeOutputPath);
@@ -121,12 +111,9 @@ public function testTotpProvideQrCode()
121111
$this->assertFileExists($qrCodeOutputPath);
122112

123113
// Test QR code output file mesaurement
124-
$blockSize = ceil(1000 / ($sharedSecretQrCodeProvider->getQrCode()->getWidth() + 2 * QrCodeRendererPng::MARGIN));
125-
$symbolWidth = ($sharedSecretQrCodeProvider->getQrCode()->getWidth() + 2 * QrCodeRendererPng::MARGIN) * $blockSize;
126-
$symbolHeight = ($sharedSecretQrCodeProvider->getQrCode()->getHeight() + 2 * QrCodeRendererPng::MARGIN) * $blockSize;
127114
$imageSize = getimagesize($qrCodeOutputPath);
128-
$this->assertEquals($symbolWidth, $imageSize[0]);
129-
$this->assertEquals($symbolHeight, $imageSize[1]);
115+
$this->assertEquals($sharedSecretQrCodeProvider->getQrRenderer()->getWidth(), $imageSize[0]);
116+
$this->assertEquals($sharedSecretQrCodeProvider->getQrRenderer()->getHeight(), $imageSize[1]);
130117

131118
// Remove test QR code output file
132119
unlink($qrCodeOutputPath);

0 commit comments

Comments
 (0)