Skip to content

Commit

Permalink
6 erro nos testes (#7)
Browse files Browse the repository at this point in the history
* Ajuste no nome do pacote para utilizar um sufixo que define que ẽ um projeto open source
* Adicionada documentação básica com instruções de utilização e exemplos
* Deve ignorar arquivos de logs gerados durante execução
* Ajutes relacionados aos erros de configuração da lib de logs
* Melhoria da pipeline do projeto, adicionado testes em versões 11 e 13 do Java.
  • Loading branch information
algarves authored Mar 26, 2022
1 parent c3c0528 commit 2c1b2df
Show file tree
Hide file tree
Showing 32 changed files with 161 additions and 114 deletions.
38 changes: 27 additions & 11 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,29 +11,45 @@ on:
types: [opened, synchronize, reopened]

jobs:

build:
runs-on: ubuntu-latest
strategy:
matrix:
distribution: [ 'adopt' ]
java: [ '8', '11', '13' ]
name: Build project with Java ${{ matrix.Java }} (${{ matrix.distribution }})
steps:
- uses: actions/checkout@v2
- name: Set up JDK 11

- name: Set up JDK
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
- name: Grant execute permission for gradlew
run: chmod +x gradlew

distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}
cache: 'gradle'
- name: Build with Gradle
run: ./gradlew --build-cache assemble

# - name: Test with Gradle
# run: ./gradlew check
test:
runs-on: ubuntu-latest
needs: build
strategy:
matrix:
distribution: [ 'adopt' ]
java: [ '11', '13' ]
name: Testing with Java ${{ matrix.Java }} (${{ matrix.distribution }})
steps:
- uses: actions/checkout@v2

- name: Set up JDK
uses: actions/setup-java@v2
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}
cache: 'gradle'
- name: Generate test report with Gradle
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: ./gradlew test integrationTest jacocoTestReport sonarqube -Dsonar.verbose=true

# - name: Upload a Build Artifact
# run: ./gradlew publish
5 changes: 2 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
.gradle
/build/
/.idea/
logs

# Ignore Gradle GUI config
gradle-app.setting
Expand All @@ -12,8 +13,6 @@ gradle-app.setting
# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
# gradle/wrapper/gradle-wrapper.properties



# From https://github.com/github/gitignore/blob/master/Java.gitignore
*.class

Expand Down Expand Up @@ -101,4 +100,4 @@ Icon
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
.apdisk
62 changes: 62 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,65 @@

# loteria-crawlers
Web Crawler para buscar os resultados dos jogos das loterias da caixa

## Requisitos do projeto

- Java 8 ou mais recente

> Código compilado com compatibilidade do Java 8, porém durante a execução da pipeline, onde executa testes unitários e de integração, utiliza versão 11.
### Executando no console os testes unitários do projeto

```shell
$ ./gradlew test
```
> Caso utilize Windows, você precisa substituir `./gradlew` por `.\gradlew.bat`.
### Executando no console os testes de integração do projeto

```shell
$ ./gradlew integrationTest
```

> Caso utilize Windows, você precisa substituir `./gradlew` por `.\gradlew.bat`.
### Excemplo de utilização da biblioteca

```java
import com.ueby.oss.loteria.crawlers.game.CaixaGameResult;
import com.ueby.oss.loteria.crawlers.service.CaixaWebCrawlerService;

public class Main {

public static void main(String[] args) {
CaixaGameType caixaGameType = CaixaGameType.MEGA_SENA;
CaixaWebCrawlerService crawler = new CaixaWebCrawlerService(caixaGameType);

// Último concurso
crawler.byLastContest();
CaixaGameResult caixaGameResult = crawler.getMatchResult();
System.out.println("Concurso: " + caixaGameResult.getNumero());
System.out.println("Dezenas sorteadas: " + caixaGameResult.getListaDezenas().toString());

// Por número do concurso
crawler.byContestNumber(2110);
caixaGameResult = crawler.getMatchResult();
System.out.println("Concurso: " + caixaGameResult.getNumero());
System.out.println("Dezenas sorteadas: " + caixaGameResult.getListaDezenas().toString());
}
}
```
### Exemplo console (resposta)

```text
Request URL 'MEGA_SENA' - https://servicebus2.caixa.gov.br/portaldeloterias/api/megasena/
Response status - 200
Request URL 'MEGA_SENA' - https://servicebus2.caixa.gov.br/portaldeloterias/api/megasena/
Response status - 200
Concurso: 2465
Lista Dezenas: [003, 008, 023, 029, 053, 054]
Request URL 'MEGA_SENA' - https://servicebus2.caixa.gov.br/portaldeloterias/api/megasena/2110
Response status - 200
Concurso: 2110
Lista Dezenas: [005, 010, 012, 018, 025, 033]
```
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ueby.loteria.crawlers;
package com.ueby.oss.loteria.crawlers;

import lombok.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ueby.loteria.crawlers;
package com.ueby.oss.loteria.crawlers;

import lombok.AllArgsConstructor;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ueby.loteria.crawlers.exception;
package com.ueby.oss.loteria.crawlers.exception;

/**
* @author Algarves, Khristian
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ueby.loteria.crawlers.exception;
package com.ueby.oss.loteria.crawlers.exception;

/**
* @author Algarves, Khristian
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.ueby.loteria.crawlers.game;
package com.ueby.oss.loteria.crawlers.game;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ueby.loteria.crawlers.CaixaGameType;
import com.ueby.oss.loteria.crawlers.CaixaGameType;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ueby.loteria.crawlers.game;
package com.ueby.oss.loteria.crawlers.game;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ueby.loteria.crawlers.game;
package com.ueby.oss.loteria.crawlers.game;

import lombok.Getter;
import lombok.Setter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ueby.loteria.crawlers.game;
package com.ueby.oss.loteria.crawlers.game;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.ueby.loteria.crawlers.service;
package com.ueby.oss.loteria.crawlers.service;

import com.ueby.loteria.crawlers.exception.CaixaWebCrawlerException;
import com.ueby.oss.loteria.crawlers.exception.CaixaWebCrawlerException;
import org.apache.http.client.fluent.Request;
import org.apache.http.client.fluent.Response;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.ueby.loteria.crawlers.service;

import com.ueby.loteria.crawlers.CaixaCrawlerStub;
import com.ueby.loteria.crawlers.CaixaGameType;
import com.ueby.loteria.crawlers.exception.CaixaWebCrawlerException;
import com.ueby.loteria.crawlers.game.CaixaGameResult;
import com.ueby.loteria.crawlers.util.JsonUtil;
import com.ueby.loteria.crawlers.util.RandomUtil;
package com.ueby.oss.loteria.crawlers.service;

import com.ueby.oss.loteria.crawlers.CaixaCrawlerStub;
import com.ueby.oss.loteria.crawlers.CaixaGameType;
import com.ueby.oss.loteria.crawlers.exception.CaixaWebCrawlerException;
import com.ueby.oss.loteria.crawlers.game.CaixaGameResult;
import com.ueby.oss.loteria.crawlers.util.JsonUtil;
import com.ueby.oss.loteria.crawlers.util.RandomUtil;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.concurrent.TimeUnit;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ueby.loteria.crawlers.util;
package com.ueby.oss.loteria.crawlers.util;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.DeserializationFeature;
Expand All @@ -7,7 +7,7 @@
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.fasterxml.jackson.module.paramnames.ParameterNamesModule;
import com.ueby.loteria.crawlers.exception.JsonParseErrorException;
import com.ueby.oss.loteria.crawlers.exception.JsonParseErrorException;
import java.io.IOException;
import java.util.Objects;
import lombok.AccessLevel;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ueby.loteria.crawlers.util;
package com.ueby.oss.loteria.crawlers.util;

import lombok.AccessLevel;
import lombok.NoArgsConstructor;
Expand Down
34 changes: 2 additions & 32 deletions src/main/resources/log4j2.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,10 @@ status = error
dest = err
name = PropertiesConfig

property.filename = loteria-crawlers.log

filter.threshold.type = ThresholdFilter
filter.threshold.level = debug

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %m%n

appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = logs/${filename}
appender.rolling.filePattern = %d{MM-dd-yy-HH-mm-ss}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d %p %C{1.} [%t] %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 2
appender.rolling.policies.time.modulate = true
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=100MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 5

appender.list.type = List
appender.list.name = List
appender.list.filter.threshold.type = ThresholdFilter
appender.list.filter.threshold.level = error

logger.rolling.name = com.ueby.loteria.crawlers
logger.rolling.level = error
logger.rolling.additivity = false
logger.rolling.appenderRef.rolling.ref = RollingFile

rootLogger.level = error
rootLogger.appenderRef.stdout.ref = STDOUT
rootLogger.level = debug
rootLogger.appenderRef.stdout.ref = STDOUT
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ueby.loteria.crawlers;
package com.ueby.oss.loteria.crawlers;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.DisplayName;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ueby.loteria.crawlers;
package com.ueby.oss.loteria.crawlers;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ueby.loteria.crawlers.exception;
package com.ueby.oss.loteria.crawlers.exception;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.ueby.loteria.crawlers.game;
package com.ueby.oss.loteria.crawlers.game;

import com.ueby.loteria.crawlers.CaixaGameType;
import com.ueby.loteria.crawlers.IntegrationTest;
import com.ueby.loteria.crawlers.service.CaixaWebCrawlerService;
import com.ueby.oss.loteria.crawlers.CaixaGameType;
import com.ueby.oss.loteria.crawlers.IntegrationTest;
import com.ueby.oss.loteria.crawlers.service.CaixaWebCrawlerService;
import org.junit.jupiter.api.*;

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.ueby.loteria.crawlers.game;
package com.ueby.oss.loteria.crawlers.game;

import com.ueby.loteria.crawlers.CaixaGameType;
import com.ueby.loteria.crawlers.IntegrationTest;
import com.ueby.loteria.crawlers.service.CaixaWebCrawlerService;
import com.ueby.oss.loteria.crawlers.CaixaGameType;
import com.ueby.oss.loteria.crawlers.IntegrationTest;
import com.ueby.oss.loteria.crawlers.service.CaixaWebCrawlerService;
import org.junit.jupiter.api.*;

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.ueby.loteria.crawlers.game;
package com.ueby.oss.loteria.crawlers.game;

import com.ueby.loteria.crawlers.CaixaGameType;
import com.ueby.loteria.crawlers.IntegrationTest;
import com.ueby.loteria.crawlers.service.CaixaWebCrawlerService;
import com.ueby.oss.loteria.crawlers.CaixaGameType;
import com.ueby.oss.loteria.crawlers.IntegrationTest;
import com.ueby.oss.loteria.crawlers.service.CaixaWebCrawlerService;
import org.junit.jupiter.api.*;

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.ueby.loteria.crawlers.game;
package com.ueby.oss.loteria.crawlers.game;

import com.ueby.loteria.crawlers.CaixaGameType;
import com.ueby.loteria.crawlers.IntegrationTest;
import com.ueby.loteria.crawlers.service.CaixaWebCrawlerService;
import com.ueby.oss.loteria.crawlers.CaixaGameType;
import com.ueby.oss.loteria.crawlers.IntegrationTest;
import com.ueby.oss.loteria.crawlers.service.CaixaWebCrawlerService;
import org.junit.jupiter.api.*;

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.ueby.loteria.crawlers.game;
package com.ueby.oss.loteria.crawlers.game;

import com.ueby.loteria.crawlers.CaixaGameType;
import com.ueby.loteria.crawlers.IntegrationTest;
import com.ueby.loteria.crawlers.service.CaixaWebCrawlerService;
import com.ueby.oss.loteria.crawlers.CaixaGameType;
import com.ueby.oss.loteria.crawlers.IntegrationTest;
import com.ueby.oss.loteria.crawlers.service.CaixaWebCrawlerService;
import org.junit.jupiter.api.*;

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.ueby.loteria.crawlers.game;
package com.ueby.oss.loteria.crawlers.game;

import com.ueby.loteria.crawlers.CaixaGameType;
import com.ueby.loteria.crawlers.IntegrationTest;
import com.ueby.loteria.crawlers.service.CaixaWebCrawlerService;
import com.ueby.oss.loteria.crawlers.CaixaGameType;
import com.ueby.oss.loteria.crawlers.IntegrationTest;
import com.ueby.oss.loteria.crawlers.service.CaixaWebCrawlerService;
import org.junit.jupiter.api.*;

/**
Expand Down
Loading

0 comments on commit 2c1b2df

Please sign in to comment.