fix static-analysis error and formatting code

Signed-off-by: Bennet Becker <dev@bennet.cc>
This commit is contained in:
Bennet Becker 2022-12-23 21:48:52 +01:00
parent 4b992cdf7f
commit 411467af57
No known key found for this signature in database
GPG Key ID: B4C66D4902D1FA86
2 changed files with 15 additions and 45 deletions

View File

@ -307,18 +307,23 @@ class Message implements IMessage {
* Add the Auto-Submitted header to the email, preventing most automated * Add the Auto-Submitted header to the email, preventing most automated
* responses to automated messages. * responses to automated messages.
* *
* @param string $value (one of AutoSubmittedValue::NO, AutoSubmittedValue::AUTO_GENERATED, AutoSubmittedValue::AUTO_REPLIED) * @param AutoSubmittedValue::* $value (one of AutoSubmittedValue::NO, AutoSubmittedValue::AUTO_GENERATED, AutoSubmittedValue::AUTO_REPLIED)
* @return $this * @return $this
*/ */
public function setAutoSubmitted(string $value): IMessage { public function setAutoSubmitted(string $value): IMessage {
$headers = $this->swiftMessage->getHeaders(); $headers = $this->swiftMessage->getHeaders();
if($headers->has('Auto-Submitted')) {
$auto_submitted = $headers->get('Auto-Submitted'); if ($headers->has('Auto-Submitted')) {
$auto_submitted->setValue($value); // if the header already exsists, remove it.
} else { // the value can be modified with some implementations
$headers->addTextHeader('Auto-Submitted', $value); // of the interface \Swift_Mime_Header, however the
// interface doesn't, and this makes the static-code
// analysis unhappy.
$headers->remove('Auto-Submitted');
} }
$headers->addTextHeader('Auto-Submitted', $value);
return $this; return $this;
} }

View File

@ -8,7 +8,6 @@
namespace Test\Mail; namespace Test\Mail;
use Egulias\EmailValidator\EmailValidator;
use OC\Mail\Message; use OC\Mail\Message;
use OCP\Mail\AutoSubmittedValue; use OCP\Mail\AutoSubmittedValue;
use OCP\Mail\IEMailTemplate; use OCP\Mail\IEMailTemplate;
@ -267,11 +266,9 @@ class MessageTest extends TestCase {
} }
public function testSetAutoSubmitted1() { public function testSetAutoSubmitted1() {
$swiftMimeSimpleHeaderSet = $this->getMockBuilder('\Swift_Mime_SimpleHeaderSet') $swiftMimeSimpleHeaderSet = $this->getMockBuilder('\Swift_Mime_SimpleHeaderSet')
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMock(); ->getMock();
$swiftMessage = $this->getMockBuilder('\Swift_Message') $swiftMessage = $this->getMockBuilder('\Swift_Message')
->disableOriginalConstructor() ->disableOriginalConstructor()
->disableOriginalClone() ->disableOriginalClone()
@ -279,37 +276,25 @@ class MessageTest extends TestCase {
->disallowMockingUnknownTypes() ->disallowMockingUnknownTypes()
->getMock(); ->getMock();
$swiftMessage->method('getHeaders')->willReturn($swiftMimeSimpleHeaderSet); $swiftMessage->method('getHeaders')->willReturn($swiftMimeSimpleHeaderSet);
$swiftMimeSimpleHeaderSet->expects($this->once()) $swiftMimeSimpleHeaderSet->expects($this->once())
->method('has') ->method('has')
->with('Auto-Submitted'); ->with('Auto-Submitted');
$swiftMimeSimpleHeaderSet->expects($this->never()) $swiftMimeSimpleHeaderSet->expects($this->never())
->method('get'); ->method('remove');
$swiftMimeSimpleHeaderSet->expects($this->once()) $swiftMimeSimpleHeaderSet->expects($this->once())
->method('addTextHeader') ->method('addTextHeader')
->with('Auto-Submitted', AutoSubmittedValue::AUTO_GENERATED); ->with('Auto-Submitted', AutoSubmittedValue::AUTO_GENERATED);
$message = new Message($swiftMessage, false); $message = new Message($swiftMessage, false);
$message->setAutoSubmitted(AutoSubmittedValue::AUTO_GENERATED); $message->setAutoSubmitted(AutoSubmittedValue::AUTO_GENERATED);
} }
public function testSetAutoSubmitted2() { public function testSetAutoSubmitted2() {
$swiftMimeHeader = $this->getMockBuilder('\Swift_Mime_Header')
->disableOriginalConstructor()
->addMethods(['setValue'])
->getMockForAbstractClass();
$swiftMimeSimpleHeaderSet = $this->getMockBuilder('\Swift_Mime_SimpleHeaderSet') $swiftMimeSimpleHeaderSet = $this->getMockBuilder('\Swift_Mime_SimpleHeaderSet')
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMock(); ->getMock();
$swiftMessage = $this->getMockBuilder('\Swift_Message') $swiftMessage = $this->getMockBuilder('\Swift_Message')
->disableOriginalConstructor() ->disableOriginalConstructor()
->disableOriginalClone() ->disableOriginalClone()
@ -317,38 +302,27 @@ class MessageTest extends TestCase {
->disallowMockingUnknownTypes() ->disallowMockingUnknownTypes()
->getMock(); ->getMock();
$swiftMessage->method('getHeaders')->willReturn($swiftMimeSimpleHeaderSet); $swiftMessage->method('getHeaders')->willReturn($swiftMimeSimpleHeaderSet);
$swiftMimeSimpleHeaderSet->method('get')->with("Auto-Submitted")->willReturn($swiftMimeHeader);
$swiftMimeSimpleHeaderSet->expects($this->once()) $swiftMimeSimpleHeaderSet->expects($this->once())
->method('has') ->method('has')
->with('Auto-Submitted') ->with('Auto-Submitted')
->willReturn(true); ->willReturn(true);
$swiftMimeSimpleHeaderSet->expects($this->once()) $swiftMimeSimpleHeaderSet->expects($this->once())
->method('get'); ->method('remove')
->with('Auto-Submitted');
$swiftMimeSimpleHeaderSet->expects($this->never()) $swiftMimeSimpleHeaderSet->expects($this->once())
->method('addTextHeader') ->method('addTextHeader')
->with('Auto-Submitted', AutoSubmittedValue::AUTO_GENERATED); ->with('Auto-Submitted', AutoSubmittedValue::AUTO_GENERATED);
$swiftMimeHeader->expects($this->once())
->method('setValue')
->with(AutoSubmittedValue::AUTO_GENERATED);
$message = new Message($swiftMessage, false); $message = new Message($swiftMessage, false);
$message->setAutoSubmitted(AutoSubmittedValue::AUTO_GENERATED); $message->setAutoSubmitted(AutoSubmittedValue::AUTO_GENERATED);
} }
public function testGetAutoSubmitted1() { public function testGetAutoSubmitted1() {
$swiftMimeSimpleHeaderSet = $this->getMockBuilder('\Swift_Mime_SimpleHeaderSet') $swiftMimeSimpleHeaderSet = $this->getMockBuilder('\Swift_Mime_SimpleHeaderSet')
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMock(); ->getMock();
$swiftMessage = $this->getMockBuilder('\Swift_Message') $swiftMessage = $this->getMockBuilder('\Swift_Message')
->disableOriginalConstructor() ->disableOriginalConstructor()
->disableOriginalClone() ->disableOriginalClone()
@ -356,30 +330,24 @@ class MessageTest extends TestCase {
->disallowMockingUnknownTypes() ->disallowMockingUnknownTypes()
->getMock(); ->getMock();
$swiftMessage->method('getHeaders')->willReturn($swiftMimeSimpleHeaderSet); $swiftMessage->method('getHeaders')->willReturn($swiftMimeSimpleHeaderSet);
$swiftMimeSimpleHeaderSet->expects($this->once()) $swiftMimeSimpleHeaderSet->expects($this->once())
->method('has') ->method('has')
->with('Auto-Submitted'); ->with('Auto-Submitted');
$swiftMimeSimpleHeaderSet->expects($this->never()) $swiftMimeSimpleHeaderSet->expects($this->never())
->method('get'); ->method('get');
$message = new Message($swiftMessage, false); $message = new Message($swiftMessage, false);
$this->assertSame("no", $message->getAutoSubmitted()); $this->assertSame("no", $message->getAutoSubmitted());
} }
public function testGetAutoSubmitted2() { public function testGetAutoSubmitted2() {
$swiftMimeHeader = $this->getMockBuilder('\Swift_Mime_Header') $swiftMimeHeader = $this->getMockBuilder('\Swift_Mime_Header')
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMockForAbstractClass(); ->getMockForAbstractClass();
$swiftMimeSimpleHeaderSet = $this->getMockBuilder('\Swift_Mime_SimpleHeaderSet') $swiftMimeSimpleHeaderSet = $this->getMockBuilder('\Swift_Mime_SimpleHeaderSet')
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMock(); ->getMock();
$swiftMessage = $this->getMockBuilder('\Swift_Message') $swiftMessage = $this->getMockBuilder('\Swift_Message')
->disableOriginalConstructor() ->disableOriginalConstructor()
->disableOriginalClone() ->disableOriginalClone()
@ -395,14 +363,11 @@ class MessageTest extends TestCase {
->method('has') ->method('has')
->with('Auto-Submitted') ->with('Auto-Submitted')
->willReturn(true); ->willReturn(true);
$swiftMimeSimpleHeaderSet->expects($this->once()) $swiftMimeSimpleHeaderSet->expects($this->once())
->method('get') ->method('get')
->willReturn($swiftMimeHeader); ->willReturn($swiftMimeHeader);
$message = new Message($swiftMessage, false); $message = new Message($swiftMessage, false);
$this->assertSame(AutoSubmittedValue::AUTO_GENERATED, $message->getAutoSubmitted()); $this->assertSame(AutoSubmittedValue::AUTO_GENERATED, $message->getAutoSubmitted());
} }
} }